web-dev-qa-db-fra.com

Comment utiliser MinGW-64 avec Qt Creator

Je suis conscient qu'il existe de nombreux articles à ce sujet, mais je n'ai honnêtement rien compris.

Alors, comment 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 .... je ne sais pas quoi faire ensuite.

Je veux juste pouvoir développer en Qt et j'ai choisi entre MinGW 32 et MinGW 64.

Merci d'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'était dépassé.

18
andseg

Je sais que votre question est de savoir comment installer un kit pour votre Qt Creator, mais d'abord je pense qu'il a besoin d'une introduction (Désolé pour vos yeux, l'anglais n'est pas ma langue maternelle)

Introduction

L'intention est d'utiliser le compilateur GCC sous Windows, ce qui signifie que nous avons besoin de MinGW (Minimalist GNU for Windows).

MinGW ne fonctionne que pour 32 bits, nous avons donc 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 applications 32 et 64 bits.
  • TDM-GCC, compilateur GCC pour 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 des interfaces graphiques/GUI avec compatibilité multi-plateforme.
  • Qt Creator, un éditeur C/C++, avec des outils d'édition supplémentaires pour Qt Framework.


À propos de la chaîne de compatibilité binaire

Lorsque nous créons une application, nous devons suivre la chaîne de bibliothèques compilées avec la même version du compilateur, de la même manière que nous devons suivre l'interface binaire de l'application (32 ou 64 bits) pour ces bibliothèques.

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

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

Maintenant, viens la chose étrange. Sur la page Web officielle de Qt, il n'est disponible que les versions 32 bits pour MinGW ... Je ne sais pas pourquoi ...

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

Je ne connais pas d'autre endroit où obtenir des paquets binaires Qt 64 bits plus récents pour MinGW-w64 (Peut-être ceux du projet MSYS2? Je n'ai pas encore essayé). Donc, si on en a besoin, il faut à ce moment être compilé par soi-même (c'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 binaires 64 bits parce que c'est ce que j'utilise (et ce dernier, vous avez juste besoin de faire la même chose pour les 32 bits)

Pour utiliser Qt Creator avec MinGW-w64, il suffit de:

  • Téléchargez Qt Creator et installez-le. Mon conseil est de télécharger la 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/interface pour nos applications), il faut le paquet binaire, ce cas 64 bits (le paquet binaire 32 bits est disponible sur la page officielle de Qt)

  • Télécharger Qt64-NG (posix-seh, ou votre choix ci-dessus) + décompresser 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ù se termine 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\

Il ne vous reste plus qu'à configurer QtCreator, dans ce cas:

Outils> Options> C++, compilateurs, ajouter> MinGW

  • Dans nom mettez la version du compilateur, MinGW-5.3 x64
    C'est le nom qui sera affiché dans les kits
  • Dans Chemin du compilateur recherchez 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é à utiliser Indicateurs 64 bits dans le compilateur. C'est pourquoi nous avons mis nom x64. Pour 32 bits, il suffit de dupliquer et de modifier la sélection.

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

  • Dans Path recherchez le chemin du débogueur, dans ce cas D:\Programacion\mingw64_5.3.0rev0\bin\gdb.exe
  • Dans nom mettez le nom affiché dans la version, GDB 7.10.1 dans ce cas.
    C'est le nom qui sera affiché dans les kits

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

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

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

Il ne vous reste plus qu'à spécifier le Kit:

Outils> Options> C++, Kits, Ajouter

  • Dans nom MinGW-5.3 x64 (Qt-5.5)
  • Dans compilateur sélectionnez MinGW-5.3 x64
  • Dans débogueur sélectionnez GDB 7.10.1
  • Dans Qt Version sélectionnez Qt 5.5.0 (qt-5.5.0-x64-mingw510r0-seh)

Et dans CMake va le CMake chemin si on va l'utiliser (je l'utilise avec Ninja ).

Remarque: Pour installer Ninja, copiez simplement ninja.exe dans le répertoire mingw-w64\bin, et sur le Kit, dans Générateur Cmake Poussez le changement vers generator -> 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 pour 1 minute de configuration. Le Kit est ce que nous sélectionnons pour compiler le projet, et on peut avoir autant de Kits qu'on le souhaite (CompilerA x32 + Qt5.x, CompilerB x64 + Qt5.x, CompilerX x64 + Qt4.8, etc, etc.).

Maintenant, avant de terminer, une chose importante. Après avoir créé un projet (et le projet est ouvert), au sélecteur de projets (Ctrl + 5), nous devons prendre soin des variables de l'environnement de construction.

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

Dans PATH, il est nécessaire de mettre les chemins vers MinGW-w64 et Qt64-NG. Et sous mon humble avis, je recommande de le mettre dans cet ordre à cause des DLL. En suivant 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

À la branche des instantanés de QtCreator, je n'ai pas besoin de le vérifier, cela se fait automatiquement


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

Remarque: je recommande de compiler Qt Creator avec 64 bits, comme cela arrive avec le Framework, pour Windows, il n'est disponible qu'en 32 bits sur le site officiel de Qt


Autre moyen

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

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

Il y a tout de même, il suffit de télécharger/installer les packages avec la commande pacman, et sont disponibles les versions 32 et 64 bits. Ces applications doivent être lancées à partir de MSYS2 Shell. Ce n'est pas une chose de compatibilité binaire mais une question de chemins.

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: Corrigé les noms, la dernière explication, et ajouté l'URL et la note d'installation de Ninja.

33
ClassicOcean

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 packages MSYS2 à l'aide de pacman:

  • mingw-w64-i686-qt
  • mingw-w64-i686-qt-creator
  • mingw-w64-x86_64-qt
  • mingw-w64-x86_64-qt-creator

Ouvrez ensuite un shell MinGW-w64 32 bits ou 64 bits à l'aide du raccourci approprié dans votre menu Démarrer et exécutez "qtcreator" sur la ligne de commande.

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

6
David Grayson

Le lancement direct à partir de l'Explorateur fonctionnera également, à moins que vous n'ayez besoin d'utiliser le plugin Autotools de qtcreator, auquel cas le lancement à partir d'un shell msys2 est nécessaire (afin que diverses variables d'environnement soient définies correctement).

1
Ray Donnelly