Comment créer Qt pour Visual Studio 2010

137

J'ai eu du mal à trouver un guide qui fournit une solution stable pour utiliser Qt avec Visual Studio 2010, donc après avoir collecté tous les bits d'informations et quelques essais et erreurs, j'aimerais écrire ma solution dans un guide.

Le problème, ou pourquoi n'est-il pas possible d'utiliser des binaires prédéfinis?

Il semble que l'utilisation de binaires construits pour Visual Studio 2008 puisse fonctionner dans certains cas particuliers, mais je les ai trouvés ne pas fonctionner. Dans mon cas, ils ont compilé OK, mais ils produisent des erreurs d'exécution, comme ceci:

problème2

ou lorsqu'il est démarré à partir de Visual Studio 2010:

problème

Mise à jour : J'ai trouvé un article de blog analysant pourquoi cela fonctionne pour certaines personnes, alors que cela ne fonctionne pas pour d'autres. En un mot, cela dépend si vous avez Visual Studio 2008 installé sur la même machine ou non. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

La chose la plus importante (que je n'ai stupidement pas réalisé) était le fait que vous NE POUVEZ PAS utiliser les bibliothèques compilées de Visual Studio 2008 et les DLL (disponibles sur la page Web de Qt) si vous n'avez pas installé Visual Studio 2008. La raison en est que le kit de développement logiciel Qt que vous téléchargez est une version de débogage qui dépend du DebugCRT VC9.0, ce qui signifie qu'il a besoin de Visual C ++ 2008 Debug Runtime installé, qui n'est PAS disponible en tant que programme d'installation redistribuable. La seule façon d'installer DebugCRT est d'installer l'intégralité de Visual Studio 2008.

zsero
la source
Merci pour votre effort. En outre, il peut être utile d'expliquer pourquoi on ne devrait pas utiliser les binaires VS 2008. J'ai développé des projets de test de prototype avec eux et VS2010 sans rencontrer de problèmes, mais je me souviens que quelqu'un a mentionné qu'il y avait des problèmes de déploiement?
Ralf
J'ai ajouté mes expériences à la dernière section. En général, j'ai trouvé beaucoup de rapports sur le net qui vous disent que vous devez compiler Qt si vous souhaitez l'utiliser avec VS2010. Il y a une page qui vous indique que cela pourrait être la présence de VS2008.
hyperknot le
Fantastique, je suis sûr que beaucoup de gens trouveront cela utile :)
Ralf
Hé, voici ce que je reçois quand je le fais nmake. J'ai utilisé ce qui suit avant de tenter de construire: configure.exe -release -no-ltcg.
Mateen Ulhaq
2
Pour référence future, vous serez peut-être intéressé de savoir que le site de documentation Qt contient les instructions d'installation pour la compilation à partir des sources .
Ephphatha

Réponses:

142

Tout d'abord, il est très important de comprendre que pour utiliser Qt avec Visual Studio 2010, il n'est pas possible d'utiliser les binaires prédéfinis qui ont été créés pour Visual Studio 2008 , mais vous devez le compiler à partir des sources.

Téléchargement de Qt

Sur https://www.qt.io/download/

Mise à jour 2017: la dernière branche Qt 4.x (Qt 4.8.6) a 2 paquets pré-construits, qui sont maintenant dans la section archive:

  1. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
  2. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

Vous ne devez pas télécharger Qt en cliquant sur "Bibliothèques Qt 4.8.6 pour Windows (Visual Studio 2008, 218 Mo)" , mais en cliquant sur le lien "zip" au -dessus.

sélection de lien

Sur ce lien, vous obtenez un gros fichier zip comme "qt-everywhere-opensource-src-4.8.6.zip" . Décompressez-le dans un dossier et faites de son chemin quelque chose de joli et petit, par exemple "E: \ Qt"

Invite de commandes Visual Studio

Maintenant que nous avons les sources, nous devons construire les binaires. Pour ce faire, ouvrez le Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)lien depuis votre menu démarrer, ou même épinglez-le dans la barre des tâches (une bonne idée). Il s'agit d'une invite de commandes spéciale qui contient toutes les variables définies pour la création avec les outils Visual Studio 2010.

Une fois dans l'invite de commande, accédez à votre dossier Qt extrait en utilisant la méthode DOS à l'ancienne, ce qui signifie que vous devez changer la lettre de lecteur par E:, entrer les répertoires par cd Qtet lister le contenu du répertoire par dir. Vous pouvez utiliser la touche de tabulation pour vous aider avec les noms de répertoire. Lorsque vous êtes arrivé au bon répertoire, une dircommande devrait renvoyer quelque chose comme ceci.

ligne de commande

Construire Qt

Il est maintenant temps de configurer et de construire. Pour configurer un Qt minimaliste, j'utilise les indicateurs suivants avec configure.exe. Copiez-le et collez-le simplement dans la ligne de commande. Cherchez dans le manuel de référence Qt quel drapeau utiliser ou ne pas utiliser.

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

Une fois configure.exeterminé (c'était 10 minutes pour moi), vous devrez démarrer le processus de construction. Cela prendra environ 20-30 minutes avec les drapeaux ci-dessus. Pour le démarrer, tapez simplement:

nmake

Définition des variables d'environnement

Fondamentalement, nous avons terminé. Tout ce que vous avez à faire est de définir vos variables d'environnement ( QTDIRet PATH), qui indiquent aux programmes où trouver Qt. Si vous utilisez Windows 7, vous pouvez utiliser la commande suivante pour définir QTDIRvotre répertoire d'installation.

setx QTDIR e:\Qt

Pour définir le PATH, je recommande fortement d'utiliser Path Editor . Dans l'éditeur de chemin

add the directory of Qt\bin to your PATH

(peu importe si c'est dans le chemin système ou le chemin utilisateur)

Si vous préférez utiliser Control Panel\System\Environment Variables, vous pouvez également les définir ici.

Complément Qt Visual Studio

Voilà, après une fermeture de session ou un redémarrage, toutes les applications de démonstration Qt devraient démarrer correctement (je recommande de jeter un œil à bin \ qtdemo.exe ). Maintenant, vous pouvez télécharger et installer le complément Visual Studio (qt-vs-addin-1.1.9.exe) à partir de la page de téléchargement Qt, cela fonctionnera parfaitement.

ajouter à

Annexe A: Instructions officielles:

Il y a une page sur le wiki officiel sur le site Web de Qt appelée Qt 4.8 Installation de Qt pour Windows , mais je l'ai trouvée manquant d'informations importantes.

Références

Forums Qt DevNet
Drapeaux recommandés pour une construction Qt minimaliste
Construire Qt 4.5 avec Visual C ++ 2010
Comment compiler Qt en tant que
Qt 4.8 statique : Configurer les options pour Qt
Modifier la variable d'environnement PATH dans
Windows sans douleur - op111.net

zéro
la source
2
C'est génial, mais j'ajouterais -qt-sql-sqlite aux indicateurs de configuration si vous ne voulez pas avoir de problèmes avec votre assistant Qt personnalisé. On dirait qu'il a besoin de ce plugin pour lire les bases de données de documentation avec succès.
neuviemeporte
Grand guide! Une note - j'essayais de me mettre en place pendant un jour ou deux et dans le processus j'avais ajouté quelques variables de chemin à mingw - celles-ci cassaient nmake et devaient être supprimées avant que les choses ne fonctionnent.
David Hall
2
Une dernière remarque: les outils VS rejettent la création de QT s'il y a des espaces dans le chemin d'accès au dossier où se trouvent les sources QT. Du moins dans mon cas.
Roman Kruglov
10
Juste une question: pourquoi Qt ne fournit-il pas encore une distribution précompilée VS 2010?
Matt Montag
2
Juste pour vous informer les gars. Le lien dans le message d'origine ne fonctionne plus. Il faut un certain temps pour rechercher le site digia et découvrir que l'addin n'est même pas là. Le lien principal à suivre est: qt-project.org/downloads
paul23
25

Qt V4.8.0 contient des binaires prédéfinis pour Visual Studio 2010, vous n'avez donc plus besoin de le faire: http://qt.nokia.com/downloads/windows-cpp-vs2010

persil72
la source
2
parsley72 les binaires prédéfinis pour Visual Studio 2010 ne sont utiles que si vous prévoyez de travailler en mode débogage 32 bits, sinon le guide posté par zsero est très utile surtout si l'on souhaite changer les options concernant l'architecture.
Absolument! Mais la question a été posée avant que les bibliothèques prédéfinies ne soient disponibles, donc je fais savoir aux gens qu'il existe maintenant une alternative.
persil72
1

Reportez-vous au lien ci-dessous et cela pourrait être utile 1) https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt#Windows_3 2) http://eecs.vanderbilt.edu /research/hmtl/wp/index.php/qt-vs/

user6303986
la source
Un lien vers une solution potentielle est toujours le bienvenu, mais veuillez ajouter du contexte autour du lien afin que vos collègues utilisateurs aient une idée de ce que c'est et pourquoi il est là. Citez toujours la partie la plus pertinente d'un lien important, au cas où le site cible serait inaccessible ou serait définitivement hors ligne. Tenez compte du fait qu'être à peine plus qu'un lien vers un site externe est une raison possible pour savoir pourquoi et comment certaines réponses sont supprimées .
Maximilian Ast