2016-07-12 2 views
10

Je suis conscient qu'il ya beaucoup de message à ce sujet, mais honnêtement, je ne l'ai pas compris tout cela.Comment utiliser MinGW-64 avec Qt Creator

Alors, comment puis-je installer un kit pour mon Qt Creator (open source 5.7)?

  • J'ai déjà téléchargé et installé MSYS2 .... je ne sais pas quoi en faire.
  • J'ai déjà téléchargé et installé Qt64 - NG .... aucune idée que faire ensuite.

Je veux juste être en mesure de se développer dans Qt et choisi MinGW 32 et Situés entre MinGW 64.

Merci à l'avance!


EDIT: J'ai également vérifié la page wiki. La plupart des commandes n'ont pas fonctionné. Et on m'a dit que c'est démodé.

Répondre

21

Je sais que votre question est de savoir comment vous installez un kit pour votre Qt Creator, mais d'abord je pense qu'il est nécessaire une introduction (Désolé pour vos yeux, Anglais ce n'est pas ma langue maternelle)

Présentation

l'intention est d'utiliser le compilateur GCC sous Windows, ce qui signifie que nous devons MinGW (GNU minimaliste pour Windows).

MinGW ne fonctionne que pour 32 bits, donc nous avons besoin des fourches 64 bits, ce qui signifie utiliser les saveurs MinGW-w64 ou TDM-GCC.

  • MinGW, compilateur GCC pour les applications 32 bits.
  • MinGW-w64, compilateur GCC pour les applications 32 et 64 bits.
  • TDM-GCC, compilateur GCC pour les applications 32 et 64 bits.

Avec cela, nous pouvons créer nos applications/programmes sous Windows. De plus, nous avons d'autres deux outils différents:

  • bibliothèque Qt Framework, pour créer l'interface graphique de/interfaces avec la compatibilité multi-plateforme.
  • Qt Creator, un éditeur C/C++, avec des outils d'édition supplémentaires pour le framework Qt.


A propos de la chaîne de compatibilité binaire

Lorsque nous faisons une demande, nous avons de suivre la chaîne des bibliothèques compilées avec la même version du compilateur, de la même façon que nous avons de suivre la interface binaire d'application (32 ou 64 bits) pour ces bibliothèques.

Cela signifie, si nous voulons compiler une application pour 32 et 64 bits avec MinGW-w64 5.3, ainsi que le framework Qt 5.7, nous avons besoin:

  • MinGW-w64 5.3 (avec des drapeaux 32 bits la config) et la compilation de Qt 5.7 Framwork 32 bits compilée sous MinGW-w64 (version 5.3 de MinGW-w64 ou moins tant qu'ils maintiennent la compatibilité de code binaire avec notre compilateur).
  • MinGW-w64 5.3 (avec des drapeaux 64 bits dans la config) et la compilation Qt 5.7 Framwork 64 bits compilée sous MinGW-w64 (MinGW-w64 version 5.3 ou inférieure tant qu'ils maintiennent la compatibilité du code binaire avec notre compilateur).

Maintenant, venez la chose étrange. Sur la page officielle de Qt il est seulement disponible les versions 32bits pour MinGW ... Je ne sais pas pourquoi ...

Voici quand vient le projet Qt64-NG, un endroit où obtenir les paquets binaires de Qt Framework 64bits pour MinGW -w64. Malheureusement, le projet est fermé, donc seulement disponible jusqu'à la version Qt 5.5 Framework.

Je ne connais pas d'autre endroit où obtenir de nouveaux paquets binaires Qb 64bits pour MinGW-w64 (Peut-être ceux du projet MSYS2? Je n'ai pas encore essayé). Donc, si on en a besoin, en ce moment doit être compilé par soi-même (Ceci est pour répondre à votre commentaire opensource 5.7).


Installation et configuration

maintenant votre question. Comment installer un kit pour votre Qt Creator. Je vais répondre pour les fichiers binaires 64 bits, car il est ce que je l'utilise (et celui-ci vous avez juste besoin de faire la même chose pour les 32bits)

Pour utiliser Qt Creator avec MinGW-w64, il n'y a qu'à:

  • Télécharger Qt Creator et installez-le. Mon conseil est de télécharger le 4.1 (ou version supérieure) snapshots si l'on veut utiliser des projets CMake.

  • Télécharger MinGW-w64 (posix-seh, ou votre saveur de choix) + décompresser dans un dossier.

C'est tout, avec cela, nous pouvons créer des applications 32 et 64 bits. Par ailleurs, en plus des étapes ci-dessus, si l'on veut créer des applications en utilisant la bibliothèque Qt Framework (une interface graphique pour nos applications), il faut le paquet binaire, ce bit 64 bits (le binaire 32 bits package est disponible à la page officielle Qt)

  • Télécharger Qt64-NG (posix-SEH, ou votre goût ci-dessus choisir) + décompressez dans un dossier.
    Après cela, il est nécessaire d'exécuter le qtbinpatcher.exe inclus dans ce répertoire, juste un double-clic.
    Remarque: Si vous changez ce répertoire en un autre chemin, exécutez à nouveau qtbinpatcher.

Voici où finit le processus d'installation. Dans mon cas, j'ai tous sous le même dossier. Exemple:

D:\Programacion\mingw64_5.3.0rev0\ 
D:\Programacion\qt64-ng\qt-5.5.0-x64-mingw510r0-seh\ 

Maintenant, il vous suffit de configurer QtCreator, dans ce cas:

Outils> Options> C++, Compilateurs, Ajouter> MinGW

  • En nom mettre la version du compilateur , MinGW-5.3 x64
    C'est le nom qui sera affiché dans les kits
  • Dans Chemin du compilateur parcourir le chemin du compilateur C++, dans ce cas D:. \ Programacion \ mingw64_5.3.0rev0 \ bin \ g ++ exe

    Prenez note dans ABI il est sélectionné pour utiliser des drapeaux 64 bits dans le compilateur. C'est pourquoi nous avons mis en le nom x64. Pour 32 bits, il suffit de dupliquer et de changer la sélection.

Outils> Options> C++, débogueurs, Ajouter

  • Dans Chemin navigation sur le chemin du débogueur, dans ce cas D: \ Programacion \ mingw64_5.3.0rev0 \ bin \ gdb.exe
  • Dans nom mettre le nom a montré à la version, GDB 7.10.1 dans ce cas.
    Il est le nom qui sera affiché dans les kits

Et, si l'on veut créer des programmes 64bits en utilisant le framework Qt, en plus de ce qui précède:

Outils> Options> C++, versions de Qt, Ajoutez et sélectionnez le qmake.exe placé dans le répertoire bin qt64-ng.

  • Dans ce cas est, D: \ Programacion \ qt64-ng \ qt-5.5.0-x64-mingw510r0-SEH \ bin \ qmake.exe
  • Au nom mis Qt% {Qt: Version} (qt-5.5.0-x64-mingw510r0-SEH)
    Il est le nom qui sera affiché dans l'onglet Kits

maintenant, il vous suffit de choisir le kit:

Outils> options> C++, Kits, Ajouter

  • En nom MinGW-5.3 x64 (Qt-5.5)
  • Dans compilateur sélectionner MinGW-5.3 x64
  • Dans débogueur sélectionnez GDB 7.10.1
  • Dans version Qt sélectionnez Qt 5.5. 0 (qt-5.5.0-x64-mingw510r0-SEH)

Et CMake va chemin the CMake si on va l'utiliser (je l'utilise with Ninja).

Remarque: Pour installer Ninja suffit de copier ninja.exe au MinGW-w64 \ bin, et le kit, dans générateur Cmake pousser changement générateur -> ninja, et générateur supplémentaire -> CodeBlocks. Ninja lance plusieurs commandes make en même temps, ce qui diminue les temps de compilation.


Texte long pendant 1 minute de configuration. Le Kit est ce que nous sélectionnons pour compiler le projet, et on peut avoir autant de Kits que l'on souhaite (CompilerA x32 + Qt5.x, CompilerB x64 + Qt5.x, CompilerX x64 + Qt4.8, etc, etc).

Maintenant, avant de finir, une chose importante. Après avoir créé un projet (et le projet est ouvert), dans le sélecteur de projets (Ctrl + 5), nous devons prendre en compte les variables d'environnement de construction.

Ce sont les variables qui vont être ajoutées à la commande qui lancent nos Runs/Builds pour tester et déboguer.

Dans PATH, il est nécessaire de mettre les chemins d'accès à MinGW-w64 et à Qt64-NG. Et à mon humble avis, je recommande de le mettre dans cet ordre à cause de dll. Dans notre exemple:

PATH D:\Programacion\mingw64_5.3.0rev0\bin;D:\Programacion\qt64-ng\qt-5.5.0-x64-mingw510r0-seh\bin;the_other_paths 

À branche de snapshots QtCreator Je ne ai pas besoin de le vérifier, il est fait automatiquement


La plupart des éditeurs C/C++ fonctionne de cette façon. Pour installer l'éditeur, spécifiez le chemin du débogueur du compilateur & et spécifiez les variables d'environnement de construction à lancer à partir de l'éditeur (en remplaçant les variables d'environnement que nous avons dans Windows).

Note: Je recommande de compiler Qt Creator avec 64 bits, en raison de se produire avec le cadre, pour Windows, il est disponible uniquement en 32 bits sur le site Qt officiel


manière alternative

Par l'autre côté, nous avons:

  • MSYS2, un environnement d'outils de type Linux.

Il ya tout de même, il suffit de télécharger/installer les paquets avec la commande pacman, et sont disponibles en versions 32 et 64 bits. Ces applications doivent être lancées à partir du shell MSYS2. Ce n'est pas une chose de compatibilité binaire mais un chemin d'accès important.

Les bibliothèques disponibles au projet MSYS2 peuvent être utilisées dans la première chaîne d'outils que j'ai décrite (car elles sont également construites sous MinGW-w64).


EDIT: denominations rectifiées, dernière explication, et a ajouté url de Ninja et la note d'installation.

+0

Bonne explication mate, je vais certainement l'utiliser. Je vous remercie! – andseg

+0

+1 pour indiquer que seule la chaîne d'outils i686-w64-mingw32 est fournie avec Qt Creator (et vous ne savez pas pourquoi). Je viens de passer une semaine à essayer d'obtenir ce qui est bien compilé dans Cygwin sous Qt Creator et la raison en est que Cygwin utilisait la chaîne d'outils x86_64-w64-mingw32. (Mon problème était ma bibliothèque de fournisseurs n'est pas compatible avec la chaîne d'outils i686, donc pas de lien!) – PfunnyGuy

2

Vous devez décider si vous allez utiliser l'écosystème MSYS2 ou non. Si vous souhaitez utiliser MSYS2, vous devez désinstaller le logiciel Qt que vous avez téléchargé séparément pour éviter toute confusion. Pour le reste de cette réponse, je suppose que vous utilisez MSYS2.

Vous pouvez installer ces MSYS2 paquets en utilisant pacman:

  • MinGW-w64-i686-qt
  • MinGW-w64-i686-qt-créateur
  • MinGW-w64-x86_64-qt
  • MinGW-w64-x86_64-QtCreator

Ensuite, ouvrez un shell MinGW-w64 32 bits ou 64 bits en utilisant le raccourci approprié dans votre menu Démarrer, puis exécutez "QtCreator" à la ligne de commande.

Vous pouvez également utiliser d'autres systèmes de construction pour construire votre logiciel. J'ai utilisé avec succès CMake pour construire des applications Qt dans MSYS2, au lieu de Qt Creator.

+1

Merci pour le commentaire. Je viens de découvrir que MSYS2 et Qt sont deux choses différentes. Disons que je préfère utiliser le Qt. Est-ce que je peux installer un MinGW 64 dessus? – andseg

+1

Je pensais que la distribution officielle de Qt creator pour Windows était fournie avec son propre compilateur MinGW-w64. Vous devriez juste essayer d'utiliser ça, n'est-ce pas? –

+1

Il est livré avec un compilateur MinGW - 32 et beaucoup de kits MSVC mais c'est à peu près tout. En outre, j'ai essayé d'exécuter l'exécutable dans une machine 64 bits et cela n'a pas fonctionné. – andseg

1

Lancer directement depuis l'explorateur fonctionnera également, sauf si vous avez besoin d'utiliser le plugin Autotools de qtcreator, auquel cas il est nécessaire de le lancer à partir d'un shell msys2 (pour que les variables d'environnement soient correctement définies).

+0

"Lancer directement depuis l'explorateur fonctionnera aussi". Que voulez-vous dire? – andseg

+1

Double-cliquer sur qtcreator.exe est ce que je veux dire plutôt que d'utiliser un shell msys2. –