Lié statiquement application avec Qt donne une erreur: Échec du chargement de plate-forme de plugin “windows”
J'ai construit Qt 5.0.1 de façon statique dans VS 2010 sous Windows 7 x64. Les paramètres de configuration ont été
configure -debug-and-release -opensource -confirm-license -platform win32-msvc2010 -nomake examples -nomake tests -no-webkit -static
et j'ai effectué le construire avec jom avec les paramètres suivants:
jom -j 4
Le processus de génération a été un succès et je peux trouver toutes les libs et le lien de mon application avec Qt de façon statique. Maintenant, le problème est que quand j'essaye d'exécuter l'application, il me donne une erreur
Module: 5.0.1
File: kernel\qguiapplication.cpp
Line: 781
"Failed to load platform plugin "windows". Available platforms are:"
Mais en dessous de cette erreur, il ne se présentent pas toutes les plates-formes. J'ai rencontré la même erreur lors de la liaison avec Qt de façon dynamique. Je me suis débarrassé de que en plaçant la dépendance Dll (qt5core.dll, qt5gui.dll etc) dans le même répertoire de mon exe. Mais je ne peux pas trouver un moyen de ce temps.
Après l'accumulation d'électricité statique de Qt, les Dll dans le plugins/plates-formes/dossier ont disparu et sont remplacés par des libs. J'ai également essayé de lier statiquement avec qwindows.lib, mais en vain.
Une idée?
Ce qui concerne.
OriginalL'auteur Waqas Danish | 2013-02-28
Vous devez vous connecter pour publier un commentaire.
Pour vérifier ce que les DLL sont nécessaires pour déployer votre application sur Windows, utilisez dependency Walker (http://www.dependencywalker.com/).
Selon la page de documentation Qt pour Windows - Déploiement quelques DLL sont nécessaires pour déployer une application Qt sur les plates-formes Windows:
Selon le compilateur que vous utilisez pour compiler l'application, certains autres bibliothèques peuvent être requis:
Remarque: dans tous ces fichiers, remplacer XX par la version actuelle de la DLL sur votre système.
Si vous ne construisez pas Qt de façon statique (par défaut), vous aurez également besoin d'Qt5 DLL en fonction sur l'intervalle Qt module que vous utilisez dans votre application. Exemple:
Toutes ces DLL peuvent être trouvés dans "bin" du dossier, en vertu de votre Qt installation dir.
MODIFIER
Récemment, les développeurs Qt créé un outil nommé windeployqt.exe qui vous permet de rassembler toutes bibliothèque requise pour déployer une application:
OriginalL'auteur
J'ai juste eu le même problème, voici donc ma solution:
D'abord bien sûr construire QT avec le paramètre statique.
Ajouter le suivant libs de votre construction:
Ajouter le chemin d'accès suivant dans votre bibliothèque des chemins:
Dans votre code (de préférence main.cpp) ajouter la ligne suivante:
La résultante de construire ne doit pas dépendre de toute qt liés à la dll.
OriginalL'auteur littleimp
Si vous utilisez libGLESv2.dll, alors vous devez inclure libEGL.dll, trop. Voir
Le déploiement de Qt C++ de l'Application à partir de Visual Studio qwindows.dll erreur
OriginalL'auteur user2793449
C'est un Qt plate-forme de plugin question. À l'aide de qt.conf résolu le problème pour moi sur MacOS.
Ce n'est pas grave si vous faites un lien Qt staticly sur pas.
J'ai essayé de staticly lien vers libqcocoa.un (ou qwindows.lib), sans succès. Je vais vous laisser savoir si j'y arrive.
OriginalL'auteur frachop
Viens de faire les étapes suivantes:
OriginalL'auteur Arman Arefi