136 votes

Comment construire Qt pour Visual Studio 2010

J'ai eu du mal à trouver un how-to qui fournit une solution stable pour l'utilisation de Qt avec Visual Studio 2010, donc après avoir collecté toutes les informations et quelques essais et erreurs, je voudrais écrire ma solution dans un guide.

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

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

problem2

ou lorsqu'il est lancé depuis Visual Studio 2010 :

problem

Mise à jour : J'ai trouvé un article de blog analysant pourquoi cela fonctionne pour certaines personnes, alors que ce n'est pas le cas 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ée) est le fait que vous NE POUVEZ PAS utiliser les bibliothèques compilées et les dll de Visual Studio 2008 (disponibles sur la page web de Qt) si vous n'avez pas Visual Studio 2008 installé. La raison en est que le Qt SDK que vous téléchargez est une compilation de débogage qui dépend du VC9.0 DebugCRT, ce qui signifie qu'il faut installer le Visual C++ 2008 Debug Runtime, qui n'est PAS disponible en tant qu'installateur redistribuable. La seule façon d'installer le DebugCRT est d'installer l'intégralité de Visual Studio 2008.

142voto

zsero Points 2578

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éconstruits qui ont été créés pour Visual Studio 2008. mais vous devez le compiler à partir des sources.

Télécharger Qt

Sur http://qt.nokia.com/downloads Cliquez sur LGPL.

Mise à jour Le nouveau lien est ici : http://qt-project.org/downloads

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

link-selection

Sur ce lien, vous obtenez un gros fichier zip du type "qt-everywhere-opensource-src-4.7.2.zip" . Décompressez le tout dans un dossier et faites en sorte que son chemin soit petit et agréable, par exemple " E:\Qt "

Invite de commande Visual Studio

Maintenant que nous avons les sources, nous devons construire les binaires. Pour ce faire, ouvrez le fichier Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010) depuis votre menu de démarrage, ou même l'épingler à la barre des tâches (une bonne idée). Il s'agit d'une invite de commande spéciale dont toutes les variables sont définies pour la construction avec les outils Visual Studio 2010.

Une fois dans l'invite de commande, naviguez jusqu'au dossier Qt que vous avez extrait en utilisant la vieille méthode DOS, ce qui signifie que vous devez changer la lettre de lecteur par E: , entrez dans les répertoires par cd Qt et lister le contenu du répertoire par dir . Vous pouvez utiliser la touche de tabulation pour vous aider avec les noms des répertoires. Lorsque vous êtes arrivé au bon répertoire, une touche dir devrait retourner quelque chose comme ceci.

command line

Construction de Qt

Maintenant, il est temps de configurer et de construire. Pour configurer un Qt minimaliste, j'utilise les drapeaux suivants avec configure.exe . Il suffit de le copier et de le coller dans la ligne de commande. Regardez dans le Manuel de référence Qt pour savoir 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.exe est terminée (pour moi, cela a pris 10 minutes), vous devez commencer le processus de construction. Cela prendra environ 20-30 minutes avec les drapeaux ci-dessus. Pour le lancer, tapez simplement :

nmake

Définition des variables d'environnement

En gros, nous avons terminé. Tout ce que vous avez à faire est de définir vos variables d'environnement ( QTDIR et PATH ), qui indiquent aux programmes où trouver Qt. Si vous êtes sous Windows 7, vous pouvez utiliser la commande suivante pour définir les paramètres suivants QTDIR dans votre répertoire d'installation.

setx QTDIR e:\Qt

Pour régler le PATH je recommande vivement d'utiliser Éditeur de chemins . Dans l'éditeur de chemin

add the directory of Qt\bin to your PATH

(peu importe s'il se trouve dans le chemin du système ou dans le chemin de l'utilisateur)

Si vous préférez utiliser Control Panel\System\Environment Variables alors vous pouvez les définir là aussi.

Complément Qt Visual Studio

Voilà, après une déconnexion ou un redémarrage, toutes les applications de démonstration de Qt devraient démarrer correctement (je recommande de jeter un coup d'oeil à bin \qtdemo.exe ). Vous pouvez maintenant télécharger et installer le complément Visual Studio (qt-vs-addin-1.1.9.exe) depuis la page de téléchargement de Qt, il fonctionnera parfaitement.

addin

Annexe A : Instructions officielles :

Il existe une page du wiki officiel du site web de Qt intitulée Qt 4.7 Installation de Qt pour Windows mais j'ai trouvé qu'il manquait des informations importantes.

Références

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

25voto

parsley72 Points 804

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

1voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X