IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Compilation 64 bits avec Qt


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 69
    Points : 34
    Points
    34
    Par défaut Compilation 64 bits avec Qt
    Bonjour à tous,

    Je suis en train de coder un petit calculateur de nombres premiers, qui ne servira à rien, mais je me suis mis dans la tête d'optimiser mon algorithme jusqu'à l'épuisement. J'en arrive donc à vouloir le compiler en 64-bits pour voir si je gagne quelques ms.

    Seulement malgré mes recherches sur google, je n'ai rien trouvé d'explicite sur la façon de compiler son programme en 64-bits avec Qt. De plus, je ne sais pas si je dois modifier des choses dans mon code. Y a t'il des types de données invalides en 64 bits que j'ai pu utiliser en 32 ? Les type inhérent à Qt sont-ils compatibles ?

    Bref, j'aimerais savoir comment faire pour compiler en 64-bits, ou à défaut, si vous avez un lien sous la main assez explicatif, je suis preneur.

    Merci, et bonne journée

    EDIt : J'ai trouvé quelques documents sur le net mais je ne comprend pas bien. Est-il nécéssaire de recompiler Qt en 64-bits ? J'ai vu des binaires de
    Qt 4.6.2 64-bits sur le site, j'en ai téléchargé un mais je ne vois pas comment faire ensuite.

    Est-ce que je peux juste télécharger mingw64 et compiler mon programme tranquille ?

  2. #2
    Membre averti

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Points : 398
    Points
    398
    Par défaut
    Quel que soit le compilateur que tu choisis, Qt doit être compilé avec le même compilo que ton appli.

    Donc en clair soit tu trouves des binaires Qt compilés en 64bits et tu utilises le m^me compilateur pour ton soft.

    Soit tu recompiles Qt avec le compilateur de ton choix...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 69
    Points : 34
    Points
    34
    Par défaut
    Merci de ta réponse

    J'ai trouvé un binaire 64-bits, je l'ai extrait, mais comment je peux faire pour compiler mon programme avec le même compilateur qui a servi pour Qt ?

    Si par exemple mon binaire de Qt a été compilé avec GCC 64 bits, je télécharge GCC 64 bits, mais ensuite, comment je dis à Qt d'utiliser ce compilateur pour mon programme ?

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Points : 398
    Points
    398
    Par défaut
    Bonne question

    Il faut utiliser le "mkspec" correspondant à ton compilateur. Ces fichiers se trouvent dans le dossier Qt, par exemple : "Qt/4.7.2/linux-g++-64". Il existe un dossier pour chaque compilateur supporté par Qt.

    Il faut ensuite indiquer à qmake d'utiliser le mkspec voulu en lui donnant l'argument "-spec win32-msvc2010", ceci est un exemple j'utilise le compilateur visual studio 2010.

    Si tu es dans QtCreator, dans le mode "projets", tu peux voir la ligne de commande qmake qui est générée dans la partie "build steps", à cet endroit tu devrais pouvoir voir quel mkspec est utilisé dans ton projet. Dans la partie "general" tu choisis ta version Qt, tu peux cliquer sur "manage", cela te permet d'indiquer à QtCreator ou se trouve le Qt-64 bits que tu as extrait. Il faut lui indiquer le chemin de qmake ("Qt/4.7.2/bin/qmake.exe"). Une fois sélectionné, le mkspec devrait être également indiqué (il le trouve automatiquement).

    Voici ce que ça donne chez moi:


    Uploaded with ImageShack.us

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 69
    Points : 34
    Points
    34
    Par défaut
    Merci de ta réponse.

    Je n'utilise pas QtCreator mais je l'ai utilisé pour connaître le mkspace comme tu me l'as conseillé. Donc j'ai ouvert QtCreator, j'ai été dans Options>Qt4 puis j'ai ajouté une ligne dans les versions de Qt en manuel.

    J'ai indiqué le chemin de qmake.exe dans le dossier contenant mon binaire 64 bits de Qt. Il m'a alors affiché en bas que le mkspace utilisé est le win32-g++ (desktop).

    Il me demande aussi la chemin vers MinGW, mais je ne sais pas trop si je met le minGW habituel, vu qu'il est 32 bits.

    Dans mon binaire j'ai un dossier nommé mkspace. J'y suis allé pour voir, il y en a beaucoup, mais en Win il n'y a que des 32-bits. Il y a des 64 mais que sur unix ou solaris.

    Cela veut-il dire que je n'ai pas le mkspace nécessaire pour compiler en 64-bits ?

    Merci encore. Je rame un peu, je n'ai pas l'habitude de toucher à cette partie de Qt.

  6. #6
    Membre averti

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Points : 398
    Points
    398
    Par défaut
    ah mingw64, je ne connais pas trop ça :p

    J'imagine que dans le paquet que tu as téléchargé ici (je suppose) mingw n'est peut être pas inclu. Dans ce cas, il te faudrait installer mingw64 depuis le site mingw...

    Essaie de voir comment ton mingw32 est configuré et de la diriger à la place vers le mingw64.

    Peut-être qu'un des boss sur la question des binaires pourra t'aider plus en avant mais là moi je commence à caler :p

    Bon courage.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 69
    Points : 34
    Points
    34
    Par défaut
    Ok, je vais essayer d'utiliser mingw64 avec Qt, bien qu'il me semble avoir lu quelque part qu'il ne le supportait pas encore.

    En tout cas merci de tes réponses et de ta patience.

  8. #8
    Membre averti

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Points : 398
    Points
    398
    Par défaut
    Je viens de tomber là dessus, peut-être cette version fonctionne ?

    http://www.developpez.net/forums/d10...s/#post5944236

  9. #9
    Membre averti Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Points : 444
    Points
    444
    Par défaut
    Salut,

    J'ai compilé Qt4.6.0 avec mingW64, donc je confirme ca se fait

Discussions similaires

  1. Compilation 64 bits avec Delphi XE2
    Par Roland Chastain dans le forum EDI
    Réponses: 2
    Dernier message: 17/09/2013, 13h51
  2. Compilation 64 bits avec activex 32 bits
    Par Yann57 dans le forum Débuter
    Réponses: 2
    Dernier message: 02/10/2012, 21h30
  3. Réponses: 6
    Dernier message: 17/09/2010, 04h57
  4. conf de compilation en 32 bits avec un gcc en 64
    Par ImagingAllthe dans le forum Images
    Réponses: 2
    Dernier message: 07/12/2009, 11h18
  5. Comment compiler en 64 bits avec gcc, -m64 ne marche pas.
    Par jeanlouis_lecodeur dans le forum GCC
    Réponses: 1
    Dernier message: 27/02/2008, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo