2010-08-03 2 views
6

Je suis en train de coder un projet C++ avec Qt Creator. Tout fonctionne bien (déboguer, libérer), mais quand je lance le .exe compilé directement (aller au fichier exe et l'exécuter) il est dit mingwm10.dll est manquant.Missing mingwm10.dll

Que puis-je faire pour résoudre ce problème?

Répondre

6

Voici ce que vous pouvez faire:

  • comme Chalup dit, placez-vous bin MINGW vous variable locale/globale PATH comme: Mon ordinateur | Propriétés système | advenced | Variables d'environnement | Variables système - sélectionnez PATH chaîne et appuyez sur Modifier le bouton. Après boîte de dialogue apparaît, ajouter quelque chose comme ça - C: \ MinGW \ bin

  • Construisez votre application sans MinGW, par exemple avec Qt libraries 4.6.3 for Windows (VS 2008, 194 MB)

  • Il suffit de placer mingwm10.dll dans le répertoire avec votre fichier exécutable

+0

Si nous utilisons ce fichier exe dans un système différent sans installer qt, la première fois il demande mingw10.dll.if nous le copions dans le répertoire, il demandera d'autres fichiers dll.Si nous copions tous les fichiers dll dépend, il montre un message d'erreur.Alors comment réparer cette erreur sans installer qt andmingw? sinon notre programme dépendra de mingw. –

+0

@KIRAN Vous pouvez construire un EXE statique (avec Qt et mingw libs à l'intérieur) (ceci augmentera la taille de base de l'EXE, mais plus de DLL seront nécessaires), ou vous pouvez construire un EXE statique (Qt statique sans support de mingw - Cela signifie que lorsque vous construisez une bibliothèque Qt statique avec les méthodes 'configure' &' make', mais que vous devez définir un flag 'configure -no-exceptions ...' - je ne suis pas vraiment sûr - mieux vaut le vérifier) ​​ – mosg

+0

fait Vous voulez dire dans le fichier .pro? Si oui, comment ajouter non-exeption? ........ MERCI –

2

Vous devez ajouter l'emplacement de mingwm10.dll à votre variable PATH d'environnement.

+0

où? ........... – Snoob

+0

Je ne connais pas le chemin depuis le haut de ma tête, mais c'est quelque part à l'intérieur de l'installation du SDK, par ex. $ QTDIR/mingw/lib. Je le chercherais dans l'explorateur et le copierais ensuite à côté du fichier .exe. Pour la distribution, placez la DLL dans les DLL Qt livrées. –

+1

Juste pour être plus précis: je l'ai trouvé sur C: \ Qt \ 2010.02.1 \ qt \ bin \ mingwm10.dll sur mon ordinateur. – ereOn

1

Si vous utilisez Qt LGPL, vous devriez mieux accepter quelques DLL avec votre EXE. Ce n'est pas si mal, en fait. Sinon, vous êtes libre de compiler Qt en tant que bibliothèque statique ou d'utiliser les compilateurs Microsoft. Suppression de "-mthreads" dans tous les fichiers makefile peut aider, mais peut-être pas, surtout si vous utilisez des exceptions entre les threads.