Comment faire pour exécuter des applications Qt 5 sur d'autres ordinateurs (Windows 7)
J'ai développé une application simple avec Qt 5.0.2 sur Windows 7 Ultimate. Comme un compilateur de la QtCreator utilisé MSVC2012_64bit. Et je ne peux pas déplacer mon application sur un autre ordinateur. Il ne fonctionne pas. Qt application nécessite Dll que je ne peux pas trouver. La dépendance de l'explorateur pense que le .dll
s ci-dessous ne sont pas trouvés. Où je peux les trouver? Pourquoi ce problème est-il si vaste répandu? Tous les gens se plaignent qu'ils ne peuvent pas obtenir leur .exe
qui est développé avec Qt, travail sur un autre ordinateur .
EDIT1: BTW quand j'ai ajouté DCOMP.dll
téléchargé à partir d'internet, l'introuvable dll devenir 2-3 fois plus qu'il est maintenant 🙂
EDIT2: Également noter que sur l'autre ordinateur (Windows 7 Home Premium) quand je double-cliquez sur le fichier exe, il montre qu'il loades et aucun effet, aucune erreur de rien du tout.
source d'informationauteur Narek | 2013-04-24
Vous devez vous connecter pour publier un commentaire.
Présente la liste des dll dont j'avais besoin et aussi j'ai copié le
C:\Qt\Qt5.0.2\5.0.2\mingw47_32\plugins\platforms
dossier:Et il a travaillé pour moi. BTW j'utilise Windows 7 Ultimate x64, et Qt 5.0.2 pour les 32 bits de Windows (MinGW 4.7, 650 MO) en faveur de l'intervalle Qt.
EDIT: Vous pouvez également avoir besoin de QtCreator .dll à copier et aussi, vous pourriez avoir besoin d'avoir un fichier nommé
qt.conf
avec le contenu suivant (copié à partir de @Renato réponse):il suffit d'ajouter le fichier
qt.conf
à votre application dir avec le contenu suivantpuis copie, de la même application dir, le sous répertoire "plates-formes" que vous trouverez en dir C:\Qt\Qt5.1.1\Tools\QtCreator\bin
C'est tout.
Cela résout parce que qtcore.dll est compilé avec des allées intérieures de votre qt instalation. (Je ne sais pas pourquoi !). Depuis, qt.conf est toujours lu par qtcore lorsque l'application démarre la bibliothèque de "plates-formes" et l'application fonctionne sur quelqu'un hôte.
Avertissement: le qtcore et des plates-formes sous dir avons est devenue à partir de la même qt instalation.
Désolé par les anglais, mais la solution fonctionne très bien.
Qt ces jours-ci (à tout le moins au Qt 5.2, si pas plus tôt) de navires avec "windeployqt.exe", qui lorsqu'il est pointé à votre programme compilé (et, si comme moi vous êtes en utilisant, comme un argument supplémentaire de "--qmldir chemin/vers/QML/fichiers" pour un Qt Quick programme) devrait cracher toutes les Dll dans le même répertoire que votre programme compilé réside actuellement. Donc, pour moi sur une construction locale de la machine par exemple, j'ai couru quelque chose le long des lignes de:
C'est avec le Qt \bin dans mon $PATH (ou, je suppose que dans Windows langage, %PATH% ;)) à l'aide de Qt 5.5, bien que j'ai fait le même retour avec 5.2 et 5.3.
IIRC si l'aide de MSVC comme compilateur, j'ai encore besoin de copier les Dll (dans mon cas, msvc2010, de sorte msvcp100.dll et msvcr100.dll) à la main, mais je peux me souvenir mal.
Merci pour votre aide les gars!
Pour moi, juste l'ajout de
qwindows.dll
à la/platforms
répertoire en quelque sorte de ne pas le couper.J'ai finalement tout s'est mis au travail par carrément copier la totalité de la plugins répertoire de mon application répertoire binaire et la création d'un
qt.conf
fichier avec le contenu suivant: