2010-08-03 20 views
6

Estoy codificando un proyecto de C++ con Qt Creator. Todo funciona bien (depuración, lanzamiento), pero cuando ejecuto el .exe compilado directamente (vaya al archivo exe y lo ejecuto) dice que falta mingwm10.dll.Missing mingwm10.dll

¿Qué puedo hacer con este problema?

Respuesta

6

Esto es lo que podría hacer:

  • como Chalup dijo que colocar directorio bin Mingw a que locales PATH variables/global así: Mi ordenador | Propiedades del sistema | advenced | Variables de entorno | Variables del sistema: seleccione PATH cadena y presione Editar botón. Después apareció de diálogo, añadir algo por el estilo - C: \ MinGW \ bin

  • Construir usted aplicación sin MinGW, por ejemplo, con Qt libraries 4.6.3 for Windows (VS 2008, 194 MB)

  • Sólo tiene que colocar mingwm10.dll en el directorio con el archivo ejecutable

+0

Si usamos ese archivo exe en un sistema diferente sin instalar qt, la primera vez que lo pida mingw10.dll.if lo copiamos en el directorio, se le preguntará a otros archivos dll.Si copiamos todos los archivos dll dependientes, se mostrará un mensaje de error.Luego cómo solucionar este error sin instalar qt andmingw? de lo contrario, nuestro programa dependerá de mingw. –

+0

@KIRAN Puedes construir EXE estático (con libs Qt y mingw dentro) (esto aumentará el tamaño base del EXE, pero ya no se necesitarán más DLLs), o podrías construir EXE estático (Qt estático sin soporte mingw - eso significa que cuando construyes la biblioteca estática de Qt con los métodos 'configure' y' make', pero tienes que configurar el indicador 'configure -no-exceptions ...' - No estoy seguro, mejor verificar esto) – mosg

+0

did ¿Quiere decir en el archivo .pro? En caso afirmativo, ¿cómo agregar ninguna excepción? ........ GRACIAS –

2

Debe agregar la ubicación de mingwm10.dll a la variable PATH de su entorno.

+0

¿dónde? ........... – Snoob

+0

No conozco el camino desde lo alto de mi cabeza, pero está en algún lugar dentro de la instalación de SDK, p. $ QTDIR/mingw/lib. Lo buscaría en el explorador y luego lo copiaría junto al .exe. Para la distribución, coloque el dll en los dlls de Qt enviados. –

+1

Solo para ser más precisos: lo encontré en 'C: \ Qt \ 2010.02.1 \ qt \ bin \ mingwm10.dll' en mi computadora. – ereOn

1

Si utiliza Qt como LGPL, usted debe aceptar mejor varios archivos DLL con el archivo EXE. No es tan malo, en realidad. De lo contrario, puede compilar Qt como una biblioteca estática o usar compiladores de Microsoft. La eliminación de "-mthreads" en todos los archivos MAKE puede ayudar, quizás no, especialmente si utiliza excepciones entre hilos.