32 votes

L'application déployée avec les bibliothèques QT5 ne démarre pas sur Windows 7

Récemment, nous avons eu de la migration de notre QT application basée sur Windows à partir de QT 4.8 pour QT 5, et nous avons couru dans un problème avec le déploiement. Notez que notre application n'a pas changé, nous avons construit uniquement avec de nouveaux QT5 cadre. Avec peu d'efforts, nous avons réussi à construire avec VS2010 base de QT5 de la bibliothèque, et j'ai réussi a couru à l'application à partir de Qt Creator.

Comme nous l'avons fait avec QT4, nous avons inclus un éventail de bibliothèques QT avec le programme d'installation.

Dans notre phase de test, lorsque nous avons installé notre QT5 application sur une machine propre; il ne voulait pas démarrer. Non seulement l'application ne démarre pas, mais il n'a pas de sortie de toutes les erreurs.

Nous avons couru l'application par le biais du vérificateur de dépendance; et il n'y avait pas de manque dépendances de la bibliothèque à tous.

37voto

Aki Points 1633

Après plusieurs jours de recherche sans progrès, nous sommes tombés sur un QT bug:

https://bugreports.qt-project.org/browse/QTBUG-28766

Avec QT5, en plus de prévu bibliothèques QT, msvcr100.dll et msvcp100.dll; il s'avère que vous deviez envoyer votre demande à:

platforms/qminimal.dll
platforms/qwindows.dll

ainsi. Qui se trouve dans votre local QT5 bibliothèque installer @: \Qt5.0.0\5.0.0\msvc2010\plugins\plates-formes J'ai cherché partout, et je n'ai pas pu trouver cette info dans leur documentation.

15voto

Andrew Points 91

Pour moi de fonctionner de manière autonome "Hello World" application d'interface utilisateur graphique ( Qt sdk 5.0.1 mingw, Win7 x64 ). J'ai besoin d'ajouter des fichiers de programme dir:

  1. platforms/qwindows.dll
  2. D3DCompiler_43.dll
  3. icudt49.dll
  4. icuin49.dll
  5. icuuc49.dll
  6. libEGL.dll
  7. libgcc_s_sjlj-1.dll
  8. libGLESv2.dll
  9. libstdc++-6.dll
  10. libwinpthread-1.dll
  11. Qt5Core.dll
  12. Qt5Gui.dll
  13. Qt5Widgets.dll

Le déploiement complet de l'information disponible à qt 5.0 doc:

3voto

Rob Points 196

Oui, bien repéré. J'avais les mêmes problèmes de déploiement en utilisant qt 5.0.2.

De même, le dossier des plates-formes installées avec ces deux DLL dans le dossier des applications, et les déploiements sur Vista et Win7 fonctionnent maintenant.

Le marcheur de dépendance n'aide pas ici car il n'informe pas qwindows.dll ou qminimal.dll en tant que DLL requises.

Les dll des plates-formes dans mon installation Qt se trouvent dans \ Qt \ 5.0.2 \ mingw47_32 \ plugins \ platform.

2voto

user2030856 Points 31

Les DLL de la plateforme Qt se trouvent dans le dossier "plugins" dans "qtbase": C: \ Qt \ 5.0.0 \ qtbase \ plugins \ platform

1voto

Frederic Heem Points 394

Il semble qu'un qt.conf vide situé dans le même répertoire que l'application cause des problèmes pour démarrer une application Qt5 sous Windows 7. Essayez de le supprimer.

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