Comment construire 64 bits MinGW application Qt sous Windows (avec Qt Creator)
Je suis à la recherche (et bien sûr je ne suis pas le seul) pour la plus simple façon de construire MinGW basé sur 64 bits Qt de programmes sur Windows. Avant droite signifie un minimum d'effort et de temps (par exemple pour la construction et la mise en place). Actuellement je lance le normal, l'officiel de développement de l'environnement de la qt-project.org site web pour les 32 bits de Windows avec MinGW/OpenGL et QtCreator. Bien sûr, j'ai lu le (inachevé...) 64 bits page wiki de qt-project.org et j'ai aussi lu à travers différents stackoverflow questions, mais je suis confus. Je sais que le sujet de la façon de construire 64 bits Qt est traitée dans d'autres posts, mais ce n'est pas ma question, j'ai besoin d'une vue d'ensemble et le plus favorable 64 bits MinGW port.
Une chose qui me confond par exemple, c'était que la Dll dans "x64-Qt 5.2.1+QTCreator-3.0.1-(gcc 4.8.2-seh).7z" paquet de mingwbuilds du projet sur sourceforge semblent être de 32 bits.
Pour préciser ma question un peu permettez-moi de poser quelques questions connexes:
- Ai-je besoin pour construire un environnement de développement 64 bits première à produire de l'
64-bit fichiers exécutables ou puis-je garder mes normale par défaut de l'environnement et de
seule change la chaîne de compilation MinGW avec une version 64 bits de la chaîne? - Où peut
Je reçois 64 bits bibliothèques Qt pour le déploiement, ou dois-je besoin pour construire
moi-même, de toute façon? Ou où puis-je obtenir de l'environnement de développement 64 bits
y compris le 64 bits des bibliothèques? - Si je dois me construire moi-même, qui MinGW 64 bits port est le plus favorable?
Merci beaucoup pour votre aide.
- qt-project.org/wiki/MinGW-64-bit - Toute utilisation?
Vous devez vous connecter pour publier un commentaire.
Mise à jour 3/11/2019: de Départ avec Qt 5.12 l'intervalle Qt Projet prend officiellement en charge de MinGW-w64 en mode 64 bits. Vous pouvez l'installer à partir de l'intervalle Qt de l'installateur ou de le construire vous-même à partir de sources de Qt (ils ont repassé les questions qui ont été la prévention de construction réussie).
Avant la mise à jour: je pense que rubenvb réponse est maintenant la meilleure façon de répondre à cette question: MSYS2 contient une mise à jour de Qt construit avec MinGW-w64, qui est ce que vous aurez besoin pour construire 64-bit applications Qt. Je recommande l'utilisation de Qt lien wiki en rubenvb de réponse pour le déploiement; il est grandement améliorée.
Qt64-NG
Je vous recommandons d'installer Qt construire à partir de la Qt64-NG projet.
Le projet offre un up-to-date, x64 Qt construire avec MinGW-w64. Le MinGW-w64 projet du compilateur GCC est également inclus dans le programme d'installation de versions (mais pas dans le 7z). Vous aurez besoin de la même version de GCC dans MinGW-w64 qui a été utilisé pour construire Qt pour la construction de vos propres applications, je vous le recommande le choix de l'installateur.
Vous aurez besoin de choisir un build avec la pile d'exception cadre de déroulement de la méthode que vous voulez. La question Quelle est la différence entre sjlj vs nain vs seh? décrit les différences entre les types de gestionnaires d'exceptions qui sont présents dans les différentes versions de Qt. SJLJ était le seul choix avant de GCC 4.8 a été libéré, mais plus tard versions de GCC soutien de la SEH. Quel que soit le choix de fonctionner, bien que SEH est plus efficace.
Post-installation
Après l'installation de Qt, vous pouvez ajouter de l'intervalle Qt/qt-ver/qt-ver/bin et Qt/qt-ver/mingw64/bin répertoires de votre nom d'Utilisateur ou Système variable de Chemin d'accès à vos Variables d'Environnement, qui vous permettra d'utiliser MinGW-w64 avec de la GCC pour la construction à partir de votre choix de construction. Qt Creator va détecter automatiquement MinGW-w64 comme un compilateur installé après cela.
Si vous préférez ne pas ajouter à votre chemin d'accès, vous pouvez spécifier le compilateur de la version que vous venez de définir avec Qt Creator, manuellement. Vous aurez probablement besoin d'ajouter de l'intervalle Qt version en sélectionnant qmake.exe sous Options > Build & Run. Vous devrez également sélectionner gdb.exe comme votre débogueur en vertu de la Build & Run > Débogueurs onglet. Il sera situé à l'intervalle Qt/qt-ver/qt-ver/mingw64/bin.
Vous pouvez échanger le MinGW-w64 outils avec d'autres toolchains. Pour ce faire, dans Qt Creator, vous pouvez créer et d'échange entre les kits.
Déploiement
Vous pouvez utiliser le Qt64-NG construire pour le développement et le déploiement. Déployer, vous aurez envie de paquet les fichiers de votre application a besoin pour exécuter votre application, de sorte que votre utilisateur final n'avez pas à faire toute installation supplémentaire étapes.
Tout d'abord, créez un dossier de déploiement (probablement avec votre nom de l'application) et d'une copie de votre application exe fichier. Si vous êtes à l'aide de Qt Creator, vous pouvez trouver le chemin de votre application exe soit dans l'onglet Projets sur la barre latérale ou dans l'application .pro fichier s'il est spécifié.
Il y a deux façons que vous pouvez copier la dll dépendances vous aurez besoin pour exécuter votre application. Vous pouvez copier les fichiers manuellement ou vous pouvez utiliser windeployqt, un programme fourni avec votre Qt installation qui copie automatiquement (la plupart) des dépendances nécessaires pour le déploiement de l'application à déployer le dossier que vous venez de créer.
Copier les fichiers manuellement
Copier les fichiers dll suivants à partir de votre Qt/qt-ver/qt-ver/bin et Qt/qt-ver/mingw64/bin dossiers de votre demande de dossier de déploiement. Certains fichiers dll sera situé dans les deux dossiers, et un emplacement est acceptable pour une utilisation:
Vous aurez également besoin de comprendre tout Qt5*.des fichiers dll qui correspondent avec Qt modules que vous utilisez dans votre projet.
Ensuite, vous aurez besoin de copier n'importe quel plugin fichiers dll Qt exige. Qt va chercher les plugins par défaut lors de l'application à déployer le dossier/plugins. Vous pouvez trouver le plugin dossiers que vous souhaitez copier à l'intervalle Qt/qt-ver/qt-ver/plugins. L'exception à cette règle est les plates-formes de dossier, il va essayer de trouver à votre demande répertoire deploy/plates-formes. La structure de répertoire suivante indique l'emplacement de la copie des fichiers pour un minimum de projet. Copiez tous les autres plug-ins nécessaires, y compris le dossier contenant à votre déploiement/plugins.
/déployer
/deploy/plates-formes
/deploy/plugins/formats images
Windeployqt
Vous pouvez trouver windeployqt.exe dans votre Qt/qt-ver/qt-ver/bin. Windeployqt exige que votre intervalle Qt/qt-ver/qt-ver/bin et mingw64/bin dans votre Utilisateur ou le Système variable de Chemin d'accès pour fonctionner correctement.
À utiliser windeployqt, ouvrez une fenêtre de commande et accédez à votre application répertoire de déploiement. La syntaxe d'exécution, il peut être trouvé à Qt Déploiement. Vous aurez probablement envie de l'exécuter comme suit:
Windeployqt (Qt 5.4.1) copie vos formats images et iconengines plugin dossiers de votre application à déployer niveau de répertoire au lieu d'à l'intérieur d'un dossier plugins. C'est l'emplacement approprié, car il altère où Qt semble pour ces dossiers.
Dépannage
Vous pouvez tester pour voir si vous avez les bons fichiers en exécutant votre application sur un ordinateur qui n'a pas le développement de Qt installé la librairie et dans le chemin d'accès. Si vous n'obtenez pas les erreurs de démarrage de l'application, vous saurez que Qt trouvé les dépendances dont il avait besoin, et vous pouvez créer un package de votre application pour la distribution.
Si vous obtenez des erreurs, reportez-vous à la Tripleboot guide de déploiement. Vous pouvez également essayer d'utiliser Process Explorer pour voir les dépendances de votre application tente de charger quand il donne une dépendance manquante erreur.
Emballage
Fréquemment les applications sont distribuées avec une archive et/ou installation. Le Qt Installateur Cadre offre un moyen pratique d'un package de votre application Qt pour la distribution comme un exécutable du programme d'installation.
Vous pouvez installer MSYS2, qui comprend un gestionnaire de paquet et prêts à l'emploi versions de la charge de paquets, y compris l'intervalle Qt lesquelles vous pouvez également l'utiliser en dehors de la MSYS2 de l'environnement avec, par exemple, Qt Creator (qui est aussi dans les dépôts par la voie).
L'Installation est facile:
Ouvrir le MSYS2 invite de commande et d'installer Qt:
pacman -Sy-mingw-w64-{i686,x86_64}-qt5
De Qt qmake est installé dans
<msys2>/mingw{64,32}/bin
et accessible à partir de la commande demande.De la même façon, vous pouvez installer des centaines d'autres bibliothèques et les outils dont vous pourriez avoir besoin pour votre développement.
Comme pour le reste du déploiement de l'application, je vous renvoie à le Qt project page wiki sur le déploiement de Windows.