[ Solution ] strud> je veux exécuter mon application créée avec J'ai essayé de Copiez le dossier code> DLL > DLL CODE> BIN CODE> de la version de mon projet, mais cela n'a pas fonctionné. P> bibliothèque d'exécution Microsoft Visual C ++: Cette application a demandé
le temps d'exécution pour la mettre fin à une manière inhabituelle p>
BlockQuote> Q: Qu'est-ce que je veux vraiment savoir: strong> p> Comment exécuter une application intégrée à Qt sur d'autres ordinateurs (Windows) sans Qt installé? < / p> dossiers: strong> p> qt / mingw: strong> p> fichier Si des informations que vous avez manquées, veuillez me le faire savoir.
reconnaissant p> p> qtsdk code> sur une machine qui n'a pas qt code> installé. p> J'ai essayé ce qui suit: h2>
dll code> dll d: \ qt \ qt5.0.1 \ 5.0.1 \ mingw47_32 \ bin code> li>
d: \ projects \ myBrowser \ myBrowser-build-butintop_qt_5_0_1_mingw_32bit-libération \ version code> li> li>
sans qt code> li>
sans qt code>, j'ai installé vcredist_sp1_x86.exe essayé d'exécuter mon application browrsertest.exe code> li> li>
ul> L'erreur suivante s'est produite: h2>
Détails: H2>
3 Réponses :
"Microsoft Visual C ++ Runtime Library: Cette application a demandé à l'exécution de le terminer de manière inhabituelle" p>
C'est soit un bug ordinaire, soit parfois un mélange de dlls incompatibles
Utilisez le (gratuit) dépend programme sur votre EXE pour vérifier quelle DLLS il utilise réellement - cela ne relie probablement pas TOUTES QT P>
Certaines libs QT sont chargées à l'exécution d'un dossier des plugins, principalement des formats d'image et des connexions de base de données - mais ils ne donnent pas cette erreur p>
J'ai réussi à réparer les DLL, mais j'ai toujours cette erreur: Avertissement: au moins un module a une importation non résolue en raison d'une fonction d'exportation manquante dans un module dépendant de la charge retardée. Code>. Il semble que le problème soit dans la DLL ieframe.dll code>, j'ai essayé d'utiliser le walker de dépendance code> à ieframe.dll code> mais la même erreur est survenue. Qu'est ce que ça pourrait être? Merci.
Pour distribuer votre application, vous devez copier les dlls copier les dll forts> nécessaires à partir de
coller le dossier de votre application. p> li>
Copiez les dossiers à l'intérieur de EG.: strong> coller les dossiers de votre application. P> li>
ol>
Remarque: Dans cet exemple (ci-dessous), il était nécessaire de copier des DLL de différents endroits et de supprimer les dlls de débogage forts> (utilisés uniquement pour compiler dans débogage fort>). < / p>
Notez que le La structure doit ressembler à ceci (exemple): p>
Seulement des dlls forts> le mingw strong> sera nécessaire, alors je recommande d'utiliser Walker de dépendance 2.2 P>
Le résultat doit ressembler à ceci (toutes les DLL ne sont pas nécessaires, cela peut varier selon le type de projet):
Merci d'être le premier résultat de recherche que j'ai trouvé cela spécifie clairement où les DLL devaient venir de!
c: \ qt \ qt5.2.0 \ 5.2.0 \ mingw48_32 \ code> ou c: \ qt \ qt5.2.0 \ 5.2. 0 \ mingw48_32 \ bin code> p> li>
C: \ qt \ qt5.2.0 \ 5.2.0 \ mingw48_32 \ plugins code> p> p> l> p> l> p> L>
DLLS de débogage code> fin avec "d.dll", par exemple: qt5core.dll em> et qt5corepor.dll em> ou ou > Qt5concurrent.dll em> et qt5concurrentd.dll em>, la fin avec "d.dll" ne doit pas être copiée. P>
blockQuote>
1 commentaires
windeployqt (livré avec QT 5.2+) devrait faire (la plupart du temps?) du travail p>
Si un PC ciblé manquait toutes les DLL, le message d'erreur aurait dit de manière explicite ... Maintenant, il semble que vous trouve un bogue dans votre code (section de découverte de détails dans cette boîte de dialogue d'erreur).
J'ai créé une application (qmainwindow) simple et la même erreur se produit. J'ai édité ma question, j'attends votre retour. Merci.
Mingw, Visual Studio? C'est soit Mingw ou Visual Studio, comment vous pouvez-vous avoir besoin des deux?
Vous aurez également besoin d'une DLL à partir du
D: \ qt \ qt5.0.1 \ lib code> etd: \ qt \ qt5.0.1 \ plugins code>. J'utilise habituellement Moniteur de processus pour trouver des dépendances manquantes.Assurez-vous de ne pas mélanger des compilateurs ni de libérer et de déboguer dans la même application. Ce que je veux dire, c'est ne pas construire des dlls avec 1 compilateur et exécutables avec un compilateur différent, différentes versions du compilateur ou de certaines parties de la libération, tandis que d'autres pièces déboguées. Ce sont toutes des recettes pour des accidents dues à un CRT incompatible. Le plus important est des tas différents et incompatibles. Vous ne pouvez pas attribuer la mémoire dans un tas de débogage et la libérer dans un tas de libération.