web-dev-qa-db-fra.com

Construire Qt5 avec Visual Studio 2012 / Visual Studio 2013 et l'intégrer avec IDE

Comment obtenez-vous Qt5 pour télécharger et intégrer Visual Studio 2012? Quels sont certains des problèmes que vous rencontrerez et comment les résolvez-vous?

PDATE re. Visual Studio 201

Des succès ont également été rapportés avec Visual Studio 2013 et les notes sont conservées pour VS 2013.

Notez également que l'objet de la question est fortement axé sur la construction Qt avec Visual Studio. Il y a également des notes sur l'intégration avec Visual Studio IDE

50
MirroredFate

Cette méthode a été testée pour fonctionner sur Visual Studio 2013. Les fichiers binaires pré-construits à l'aide de Visual Studio 2012 et 2013 sont disponibles ici , y compris les versions OpenGL.

Étape 1: La configuration

  1. Téléchargez et installez RapidEE ici . RapidEE est un éditeur de variables d'environnement Windows. C'est extrêmement utile pour la suite de ce processus (et juste en général).

  2. Installez le SDK DirectX 11. Il fait maintenant partie du Kit de développement logiciel (SDK) Windows 8; vous devez donc au préalable installer le Kit de développement logiciel DirectX 10, que vous pouvez obtenir ici (voir l’avertissement dans la phrase suivante). Si le package redistribuable Visual C++ 2010 est installé et vous le faites probablement (il est automatiquement installé avec VS 2010), suivez les étapes décrites ici pour vous aider lors de l'installation de DirectX 10. Une fois que vous avez installé le SDK DirectX 10, téléchargez et installez le SDK Windows 8 ici , qui contient le DirectX 11 SDK. Oui, c'est pénible, mais à moins que vous ne sachiez que vous disposez du SDK DirectX 11, la compilation de Qt échouera.

  3. Installez Python pour Windows (j'ai entendu parler de la version 2.6 ou plus, travailler avec la version 3.3) de Python.org ou Anaconda Python .

  4. Installez Perl pour Windows à partir de ActiveState .


Étape 2: Gitting (et bâtiment) Qt5 (oui, - cela signifie Git )

  1. Suivez le guide d'installation pour Windows sur le site Web de qt-project.

    Résumé

    Pour résumer les détails du lien ci-dessus et des notes suivantes (VEUILLEZ VOUS CONNAÎTRE LES NOTES SUIVANTES si vous avez des erreurs; elles peuvent recevoir une réponse):

    • Désinstallez Avast (si vous l'avez installé) pour éviter les erreurs de construction. Oui, cela signifie littéralement le désinstaller . Supprimez-le 100% de votre système. Désactiver cela ne fonctionnera pas . Voir les notes détaillées ci-dessous.

    • Note pour les premières étapes : N'UTILISEZ PAS SmartGit pour le premier git pull, ci-dessous (à moins que vous ne sachiez vraiment ce que vous faites ), comme les valeurs par défaut de SmartGit vont tirer tout, et ce n'est pas ce que vous voulez.

    • Git pour Windows doit être installé.

    • Décidez où vous voulez placer l'installation Qt et cd dans le répertoire qui contiendra la nouvelle installation à partir de n'importe quelle fenêtre d'invite de commande. (Comme le processus est si fragile et sujet aux erreurs, je l'ai personnellement mis directement dans C:, Mais ce n'est probablement pas nécessaire).

    • Dans le répertoire ci-dessus, exécutez:

      git clone git://gitorious.org/qt/qt5.git qt5

      C'est rapide. Une fois terminé, vous devriez être sur la branche 'stable', mais vous pouvez toujours exécuter git checkout stable Après cding dans le répertoire qt5 Nouvellement créé, juste pour être sûr. L'utilisation de git checkout 5.4.1 Est confirmée pour fonctionner avec VS2013 64 bits.

    • Fermez la fenêtre d'invite de commande actuelle (si ce n'est pas une fenêtre d'invite de commande Visual Studio) avant de passer à l'étape suivante. Cela permet de vous assurer que vous utilisez la fenêtre Invite de commandes de Visual Studio dans les étapes suivantes.

    • Ensuite, exécutez la commande Invite de la commande VS Tools 32 bits (x86) ou 64 bits (selon que vous construisez Qt5 au format 32 ou 64 bits). Pour y accéder, vous devez le trouver dans le menu Démarrer - allez à Program Files -> [Microsoft] Visual Studio 2012/2013 -> Visual Studio Tools, Et vous le verrez là avec un nom amusant ; le nom devrait inclure la phrase Native Tools; la version 32 bits aura le nom x86 et la version 64 bits aura le nom x64.

    • cd dans le répertoire qt5 nouvellement créé à partir de l'étape ci-dessus.

    • A partir de l'invite de commande Visual Studio, le reste des sous-modules Qt doit être téléchargé:

      Perl ./init-repository --no-webkit

      Il faut un peu de temps pour exécuter cette étape, car elle doit télécharger beaucoup, mais ce n’est pas si terrible pour une connexion décente.

    • Ensuite, téléchargez tous les sous-modules FACULTATIFS restants que init-repository Ne télécharge pas - SmartGit ne fonctionne bien qu'à partir de cette étape (voir les commentaires ci-dessous).

    • Une fois le téléchargement de Qt terminé, la commande suivante prépare l'environnement de construction (il doit également être exécuté à l'aide de l'invite de commande [32 | 64] de VS Native Tools):

      configure -developer-build -opensource -confirm-license -mp -nomake examples -nomake tests -debug-and-release -c++11 -no-warnings-are-errors -platform win32-msvc2012.

      Remarques sur cette ligne de commande: l'option c++11 Peut ne pas être nécessaire avec le compilateur VS2012, mais fonctionne avec VS2013; le -no-warnings-are-errors est nécessaire au cas où vous rencontriez des erreurs sur une version automatique 64 bits d'ANGLE; -platform Est automatiquement défini sur win32-msvc2012. Par conséquent, la version 32 bits de Qt est utilisée, et -platform n'a probablement pas besoin d'être fourni à la ligne de commande (EVEN si vous avez déjà versions de VS installées). Pour VS2013, utilisez -platform win32-msvc2013.

      Il faut quelques minutes pour exécuter cette étape, mais ce n’est pas si grave.

    • Enfin, la commande permettant de créer réellement Qt sur le système (également exécutée dans l'invite de commande de VS Native Tools) est simplement:

      nmake

      Attendez-vous à attendre des heures pour que la construction soit terminée. Si vous avez spécifié un dossier de sortie avec -prefix (Voir notes ci-dessous), utilisez nmake install, Sinon c'est tout .


REMARQUES:

Remarques générales

Si la documentation ci-dessus vous laisse confus, sachez simplement que la bibliothèque ANGLE sera utilisée (par défaut) au lieu d’OpenGL. C’est pourquoi vous avez dû installer DirectX 11, ci-dessus.

Assurez-vous que vous tilisez l'invite de commande de VS Native Tools pour exécuter toutes les commandes à partir du lien ci-dessus (c'est-à-dire, Perl .\init-repository --no-webkit, configure et nmake). Vous utiliserez l'invite de commande [32 | 64] bits (x86 Ou x64), Selon que vous construisez Qt au format 32 bits ou 64 bits. Si vous installez Perl avec l'invite de commande ouverte (assurez-vous qu'elle se trouve dans PATH), vous devrez redémarrer l'invite de commande pour que Perl soit reconnu en tant que commande.

Lors de l'exécution de "init-repository" (d'après les étapes du lien ci-dessus), la documentation ne l'indique pas clairement, mais vous devez l'exécuter via Perl; c'est-à-dire Perl ./init-repository --no-webkit. Les commandes configure et nmake sont toutefois appelées directement.

Une option très utile pour passer à configure est -mp, Ce qui permet à Qt de construire plusieurs cœurs en parallèle, ce qui accélère considérablement le (long) temps de construction.

Pour spécifier un dossier de sortie, ajoutez le -prefix [outfolder] À la commande configure. Par exemple, utiliser -prefix %CD%\output\x64\vc12 Serait un (sous) dossier de sortie approprié pour une génération Visual Studio 2013 (12.0) 64 bits.


Support Unicode (ICU)

Si vous souhaitez une prise en charge Unicode (via ICU ), prêtez une attention particulière aux instructions indiquées dans le lien ci-dessus. En résumé, ICU doit être créé à partir de zéro dans VS 2012, car les seuls binaires pré-construits ICU pour Windows sont destinés à VS 2010. Construire dans VS 2012 est indolore - localisez simplement la solution ICU (.sln) dans <icuroot>\icu\source\allinone) et créez à la fois les modes Debug et Release (en mode 32 bits ou 64 bits, en fonction du mode dans lequel vous construisez Qt - NE construisez PAS l'autre bitness, car ICU écrasera le dossier de sortie avec les fichiers binaires). (Le processus de construction de Qt localisera correctement le débogage Versez build build of ICU.) Il devrait compiler sans erreur, puis ajoutez le chemin d'accès à <icuroot>\lib en tant qu'entrée de chaîne dans une NOUVELLE variable d'environnement Windows appelée "LIB" (vous pouvez utiliser Rapid EE pour cela. ; faites de LIB une "chaîne extensible" dans RapidEE même s’il n’ya qu’une entrée) et ajoutez également le chemin d'accès à <icuroot>\include en tant qu'entrée de chaîne dans une (probablement) NOUVELLE variable d'environnement Windows appelée "INCLUDE". (Remarque: L’ajout de ces chemins à la variable PATH entraînera ne fonctionne pas.) Après la construction de Qt, vous pouvez supprimer toutes les entrées que vous venez d'ajouter. En outre, ajoutez le chemin d’exécution au ICU dll (<icuroot>\bin) à la variable PATH de l’environnement ou au processus de construction de Qt (plus précisément, lorsque uic.exe s'exécutera) donnera un erreur trompeuse et trompeuse. Enfin, sur la ligne de commande configure (ci-dessous), soyez Assurez-vous d’ajouter -icu comme paramètre de ligne de commande supplémentaire.

Échec de l'ICU :

Actuellement, il semble y avoir un bogue lors de la création de Qt5 avec le compilateur VS2012 WHEN ICU IS ACTIVÉ. Spécifiquement, qtbase\src\corelib\codecs\qtextcodec.cpp Line 688 (Qt5 v5 .02) ne renvoie pas de codec pour le nom de codec "US-ASCII" (le codec est NULL), ce qui provoque le blocage de "lrelease.exe" lorsqu’on essaie de déréférencer ultérieurement le codec (j’ai perdu la trace de ce numéro de fichier/ligne, mais c'est une dereference évidente de la variable NULL codec). Malheureusement, cela signifie qu'à ma connaissance, WebKit ne peut pas être construit avec (au moins) la version 32 bits de Qt5 avec le compilateur VS2012 , car WebKit nécessite ICU.

Si quelqu'un est capable de construire Qt5 avec le compilateur VS2012 avec ICU activé, veuillez mettre à jour ce Wiki en le disant.

Clarification ICU :

Si vous avez ICU dans votre chemin, Qt le construira automatiquement. En d'autres termes, le drapeau "-icu" Est là implicitement. Cependant, cela provoque une erreur avec "lrelease .exe "comme mentionné ci-dessus. Donc, la solution consiste à ajouter le drapeau, -no-icu à la commande configure


Sous-modules supplémentaires

Si vous voulez des sous-modules en plus aux sous-modules par défaut, vous pouvez utiliser SmartGit (ou la ligne de commande) après vous complétez la commande init-repository. SmartGit est peut-être le plus simple, car vous n'avez pas besoin de copier le chemin d'accès à la ligne de commande, mais pouvez utiliser directement l'interface utilisateur.

AVERTISSEMENT: NE TÉLÉCHARGEZ PAS LE SOUS-MODULE qlalr FACULTATIF , car il ne sera pas construit en combinaison avec la construction globale de Qt, et n'est pas nécessaire pour les utilisateurs de Qt, mais uniquement pour le développement interne de Qt.

AVERTISSEMENT: Une ligne de commande Shell, suivie de Perl .\init-repository --no-webkit, Doit être utilisée (PAS SmartGit); ces étapes ne téléchargeront correctement que les sous-modules Qt par défaut. Vous devez ne pas utiliser SmartGit pour cloner et télécharger les fichiers Git à partir de git://gitorious.org/qt/qt5.git Car SmartGit ne gère actuellement pas correctement les sous-modules. Au lieu de cela, ouvrez une invite standard de commande Windows Shell (à l’aide de toute application d’invite de commande, pas nécessairement l’invite de commande de VS Tools), et (en supposant que Git soit correctement installé sur le système; une installation SmartGit peut ou non le faire automatiquement; ne pas, allez à Git pour Windows et installer directement) tapez git clone git://gitorious.org/qt/qt5.git directement à partir de la ligne de commande; suivez peut-être cela avec git checkout stable (je ne suis pas sûr si cette branche est extraite par défaut); puis suivez cela avec la ligne de commande Perl .\init-repository --no-webkit pour extraire les référentiels DEFAULT (sauf WebKit, qui nécessite ICU et ICU ne peut apparemment pas être construit) en Qt5 32 bits avec VS2012 (voir commentaires).

Les étapes pour télécharger tous les fichiers source Qt nécessaires sont donc les suivantes: 1. Utilisez une ligne de commande Windows pour exécuter la commande initiale git clone git://gitorious.org/qt/qt5.git; 2. Exécutez Perl .\init-repository --no-webkit À partir d'une invite de commande de VS Tools 2012; et ensuite éventuellement 3. Utilisez SmartGit (à partir du lien ci-dessus) (ou son équivalent) pour "ouvrir un projet existant" (choisissez le dossier racine Qt5) et effectuez une extraction à partir de SmartGit pour télécharger tout référentiel autre que celui par défaut (mais ne téléchargez pas qlalr). C'est ça; vous avez tous les fichiers Qt nécessaires et facultatifs (y compris les sous-modules) sur votre système.

Si quelqu'un découvre d'autres sous-modules facultatifs dont la construction est impossible et/ou qui sont destinés à un usage interne uniquement (mis à part qlalr), veuillez mettre à jour ce wiki pour les spécifier.

En général, les sous-modules par défaut obtenus via Perl .\init-repository --no-webkit Sont suffisants. Si vous savez ou si vous découvrez plus tard que vos autres modules (autres que ceux par défaut), vous pouvez toujours les ajouter ultérieurement.


Problèmes généraux

Si, à un moment donné, vous recevez le message d'erreur indiquant que la commande "python" (ou quelque chose de similaire) n'est pas reconnue, vérifiez simplement que le dossier contenant python.exe (Ou le .exe Approprié fait partie de la variable de chemin. Si ce n'est pas le cas, ajoutez-le (utilisez RapidEE comme indiqué ci-dessus pour plus de commodité) et recommencez. Si tel est le cas, assurez-vous que vous avez redémarré l'invite de commande APRÈS l'ajout de la commande au chemin.

Il est important de noter deux autres problèmes liés au chemin (cités dans la documentation associée au lien ci-dessus): " Assurez-vous que l'exécutable Perl se trouve dans le chemin précédant l'exécutable Perl fourni par msysgit, ce dernier étant obsolète. "; et " Vous ne pourrez peut-être pas créer si sh.exe est dans votre PATH (en raison, par exemple, d'une installation de git ou de msys). Une telle erreur est indiquée par qt5-srcqtbasebinqmake.exe: commande introuvable et similaire Dans ce cas, assurez-vous que sh.exe ne se trouve pas dans votre chemin. Vous devrez le reconfigurer si votre installation est déjà configurée. "

Pendant le processus, vous pouvez rencontrer une erreur lors de l’utilisation de nmake sur un fichier. Si vous le faites, allez simplement dans ce répertoire et forcez à construire le fichier problématique. Ensuite, recommencez le processus nmake sur Qt5.


Problèmes spécifiques

AVERTISSEMENT: Vous devrez peut-être désactiver un logiciel antivirus ET SANDBOXING pendant le processus Qt nmake (et , pour être en sécurité, tout au long de ce processus). En interne, Qt exécute un certain nombre d’exécutables que les programmes antivirus peuvent interférer (parfois de manière silencieuse). En particulier, si vous avez un logiciel de sandboxing, assurez-vous de désactiver le sandboxing.

AVERTISSEMENT: AVAST! Utilisateurs de Sandbox: Avast Sandbox a un bogue dans lequel même lorsque vous désactivez le bac à sable automatique d'Avast, le bac à sable ne se désactivera PAS et tous les fichiers de ressources créés automatiquement par le programme rcc de Qt pendant le processus de compilation de Qt seront automatiquement supprimés. La construction de Qt échoue TOUJOURS pour tout utilisateur ayant installé la fonction boîte automatique Avast, MÊME AVEC AUTO-SANDBOXING DÉSACTIVÉ. Le seul moyen de surmonter ce problème IS POUR DÉSINSTALLER COMPLÈTEMENT!) Avant de compiler Qt. Vous pouvez réinstaller Avast! À la fin de la compilation de Qt.


La compilation de Qt5 peut prendre beaucoup de temps (plusieurs heures, même avec l'option multithreading -mp). La patience.


Étape 3: Intégration de Qt5 à Visual Studio 2012

  1. Téléchargez et installez Visual Studio complément Qt5 . Il se trouve dans la section "Autres téléchargements" vers le bas de la page et ne fonctionnera pas avec Visual Studio Express.

  2. Ouvrez Visual Studio 2012 et accédez à Qt Options (Sous "Qt5" dans la barre de menus supérieure).

  3. Dans l'onglet Versions Qt, vérifiez si Qt5 est déjà présent. Si ce n'est pas le cas, cliquez sur Ajouter, choisissez un nom de version (probablement un nom tel que 5.x.x), puis accédez au dossier contenant qmake.exe (Généralement C:\Qt\qt5\qtbase).

  4. Quittez la boîte de dialogue Options Qt.

  5. Créez un nouveau projet Visual Studio. Lorsque vous voyez la boîte de dialogue Nouveau projet, vous devriez voir l’option Modèle Qt5 Projects.

  6. Une fois que vous avez votre nouveau projet Qt, faites un clic droit dessus et sélectionnez "Convertir en projet généré par QMake". Générez le projet, puis cliquez à nouveau dessus avec le bouton droit de la souris et sélectionnez "Convertir le projet en projet complémentaire Qt". Construisez à nouveau, puis exécutez. Vous devriez maintenant avoir un projet Qt fonctionnel.


Ajoutez Qt5 à un projet Visual Studio 2012 VC++ existant

Cette section peut ou non fonctionner pour vous. Si vous rencontrez des problèmes ou si vous avez des solutions complémentaires/meilleures, merci de laisser un commentaire ou de modifier l'étape appropriée.

  1. Cliquez avec le bouton droit sur votre projet dans VS et choisissez "décharger le projet". Cliquez à nouveau avec le bouton droit de la souris sur le projet et sélectionnez "Éditer [nom du projet] .vcxproj". Cela ouvre le fichier de projet afin que vous puissiez y ajouter Qt5.

  2. Descendez dans le groupe de propriétés global et ajoutez ou modifiez le <Keyword> En Qt4VSv1.0.

  3. Rechargez le projet, puis cliquez avec le bouton droit de la souris et sélectionnez "Convertir le projet en projet de complément Qt".

  4. Attendez la fin de la conversion (cela ne prend pas plus de quelques secondes), puis choisissez Qt5>Project Settings. Accédez à l'onglet Modules et cochez les modules sur lesquels vous souhaitez que votre projet repose (les modules de base sont Core, Widgets et GUI.).

  5. En suivant les étapes ici , ajoutez le répertoire $(QTDIR)\include.


    REMARQUES:

    Si à tout moment vous incluez windows.h, Vous devez #define NOMINMAX avant pour éviter tout conflit avec qdatetime.h.

    Une fois les étapes ci-dessus terminées, vous pouvez rendre votre projet utilisable par Qt Creator en sélectionnant Qt5>Create basic .pro file.


NOTES DE FIN: Si vous avez une question concernant les informations contenues dans ce guide, merci de la poster en tant que nouvelle question (pas de réponse ici), et la réponse ou un lien vers la réponse peut être ajouté.

77
MirroredFate

J'ai réussi à intégrer Qt 5.0.2 avec Visual Studio 2012 sur Windows 7 sur la base de l'excellent wiki ci-dessus et de ce lien projet-qt également. Comme j'ai effectué certaines étapes d'une manière légèrement différente, j'ai pensé qu'il serait valide de l'afficher ici:

La séquence ci-dessous doit être exécutée dans l’ordre exact donné:

0 - Désinstallez Avast (si vous l'avez installé) pour éviter les erreurs de construction. En raison d'un bogue Avast, sa désactivation ne fonctionnera pas.

1 - Installer Git (> = 1.6.x);

2 - Installez Python (> = 2.6.x). [Python.org];

3 - Installez Perl (> = 5.14). [activestate.com];

4 - Installez Ruby. [rubyinstaller.org];

5 - Ouvrez l'invite de commande Windows 7 (n'utilisez pas l'invite de commande de développeur VS2012 pour le moment);

6 - Choisissez le répertoire de votre choix pour qt5, en ce qui concerne AUCUN ESPACE NE SERA AUTORISE pour le chemin choisi. J'ai décidé d'utiliser le chemin "C:\qt5";

7 - Retour à l'invite de commande Windows 7 (dans mon cas, l'invite "C:\qt5>"), tapez:

git clone git://gitorious.org/qt/qt5.git qt5

8 - Commander la version stable:

cd qt5
git checkout stable

9 - Vous recevrez probablement un message confirmant que cette version est déjà stable. Fermez l'invite de commande.

10 - Ouvrez la console des développeurs de Visual Studio (Tous les programmes> Visual Studio 2012> Outils de Visual Studio> Invite de commandes de développeur pour VS2012) et remplacez le répertoire actuel par celui que vous avez choisi ("C:\qt5" dans mon exemple);

11 - Téléchargez les sous-modules Qt, en ignorant le webkit (source commune d'erreurs de construction ...):

Perl .\init-repository --no-webkit

12 - Maintenant, entrez cette énorme commande pour configurer votre build correctement:

configure -developer-build -opensource -nomake examples -nomake tests -nomake demos -debug-and-release -c++11 -mp -nomake webkit -confirm-license

13 - Ensuite, assurez-vous que le module qlalr sera [~ # ~] et non [~ # ~] être construit. Pour ce faire, ouvrez l'Explorateur Windows et accédez au répertoire Qt de votre choix ("C:\qt5" dans mon exemple) et vérifiez si le dossier qlalr existe. Si oui, supprimez-le;

14 - Il est temps de construire ... Les erreurs de construction possibles proviendraient de modules secondaires (tels que webkit), qui n'affectent pas la fonctionnalité principale de Qt (le webkit lui-même ne devrait pas poser de problème puisque nous avons précédemment défini la configuration pour ne pas construire il). Nous pouvons ensuite les ignorer et continuer à utiliser la construction sur des modules indépendants:

nmake /I /K

15 - Pour conclure l'intégration, suivez l'étape 3 du wiki de la communauté ci-dessus ("Étape 3: Intégration de Qt5 avec Visual Studio 2012").

10
Ronald Chiesse

Je veux juste mentionner qu’une version prédéfinie de Qt 5.2 pour Visual Studio 2012 est disponible à l’adresse suivante: http://qt-project.org/downloads . Donc, si vous n'avez pas un intérêt particulier pour la construction de Qt 5 à partir de sources, vous pouvez également utiliser les fichiers binaires de pré-construction.

Il existe également plusieurs fichiers binaires précompilés (x64) pour différentes versions du compilateur disponibles sur le site Web site Web de Tver-Soft .

6
Beachwalker

J'ai enfin pu compiler QT 5.1 (git) avec QWebKit sous Windows 8 x64 à l'aide de Visual Studio 2012 et je me suis dit que je partagerais mon expérience avec ceux qui rencontraient également des problèmes.

Avez-étape 1 et 2 comme indiqué dans le post ci-dessus. J'ai essayé de passer à l'étape 3, mais SmartGit a créé un tas de projets supplémentaires qui ne compileraient pas avec Qt5. J'ai pu résoudre la plupart des problèmes en clonant à partir d'une fourchette différente (par exemple, https://qt.gitorious.org/qt/qt3d/ ), mais cela est devenu trop fastidieux, module, alors j'ai décidé de ne compiler aucun d'entre eux.

La publication sur le support ICU dans une version 32 bits de Qt5 avec le compilateur VS2012 provoque l'échec de la construction de Qt5; Webkit est donc également impossible à construire m'a expliqué comment résoudre le problème ICU problème.

Téléchargez le code source sur http://download.icu-project.org/files/icu4c/51.2/icu4c-51_2-src.Zip et ajoutez la ligne.

#define U_CHARSET_IS_UTF8 1

dans le fichier% ICU%\source\commun\unicode\platform.h, où% ICU% est le chemin du code source ICU).

Ouvrez le fichier% ICU%\source\allinone\allinone.sln dans Visual Studio 2012 et compilez-le. Ajoutez% ICU%\bin à votre chemin

set PATH=%ICU%\bin64;%PATH%

Puis j'ai exécuté la commande suivante dans le répertoire racine de QT

configure -platform win32-msvc2012 -opengl desktop -opensource -debug-and-release -I %ICU%\include -L %ICU%\icu\lib64 -mp -qt-freetype -icu

À ce stade, j'ai commencé à suspecter que personne ne tentait de faire ce que je faisais, parce que nmake a commencé à se plaindre de lignes inattendues dans les makefiles (toutes portant l'extension DerivedSources, par exemple Makefile.JavaScriptCore.DerivedSources et Makefile.WebCore.DerivedSources ))

(set PATH=<stuff>;%PATH%) && ....

faites le set PATH manuellement avant d’exécuter nmake et supprimez les caractères jusqu’à && ex.

 (set PATH=<stuff>;%PATH%) && Perl -ne "print $1" css\CSSPropertyNames.in ...

Devient

Perl -ne "print $1" css\CSSPropertyNames.in ...

Enfin, l’un de ces fichiers essaiera d’appeler win_flex.exe (ou win-flex.exe) au lieu de flex. Je l'ai changé en flex.exe et tout a finalement été compilé (je devais le changer deux fois, car je pense que le fichier a été régénéré).

Une brève expérience avec un programme qui utilise QWebKit et qui est associé à cette version me porte à croire que tout va bien.

--Mise à jour--

Juste pour être complet. Selon Que signifie (définir PATH = ...;% PATH: ^)%) dans un script Windows Shell, et comment puis-je surmonter l'échec de cette ligne dans le contexte d'une construction Qt5 nmake? ) == (qui pointe vers http://qt-project.org/forums/viewthread/20605 ) la plupart des problèmes de Makefile devraient pouvoir être résolus en utilisant jsom au lieu de nmake (même si je m'interroge encore sur win-flex.exe)

4
Dmitry

compilez Qt 5.5 avec Visual Studio 2015:

1- modefier configure.bat dans le répertoire qtbase pour qu'il puisse générer configure.exe (seulement les 18 premières lignes)

  @echo off
set QTSRC=%~dp0
set QTDIR=%CD%
rem if not exist %QTSRC%.gitignore goto sconf
echo Please wait while bootstrapping configure ...

for %%C in (cl.exe icl.exe g++.exe Perl.exe) do set %%C=%%~$PATH:C

rem if "%Perl.exe%" == "" (
rem    echo Perl not found in PATH. Aborting. >&2
rem    exit /b 1
rem )
if not exist mkspecs (
    md mkspecs
    if errorlevel 1 goto exit
)
rem Perl %QTSRC%bin\syncqt.pl -minimal -module QtCore -outdir "%QTDIR%" %QTSRC%
rem if errorlevel 1 goto exit

2- configure -opensource -confirm-license -mp -nomake examples -nomake tests -release -c++11 -no-warnings-are-errors -platform win32-msvc2015 -no-ltcg

3- nmake

2
hatranpro