2010-07-29 12 views
10

He codificado un programa en QTcreator en Linux y cuando intenté transferirlo a Windows. El programa se compila sin ningún error. Pero cuando corro el programa sale automáticamente partir C: \ Projects \ LIG \ debug \ LIGenerator.exe ...QT aplicación que hice salir con el código -1073741515

C: \ Projects \ LIG \ debug \ LIGenerator.exe salió con el código de -1073741515

Intenté depurarlo usando QT Creator Debugger. Pero el flujo del programa no pasa incluso a través de main.cpp

cómo depurar el programa y dónde están los errores.


actualización

En el .pro presentar la INCLUDEPATH y LIB son los siguientes

win32:INCLUDEPATH += "C:\Program Files\Expat 2.0.1\Source\lib" 
win32:INCLUDEPATH += "E:\confuse-2.7\confuse-2.7\src" 
win32:INCLUDEPATH += "C:\Projects\LithologyInputGenerator5\XML" 
win32:LIBS += -L"C:/Program Files/Expat 2.0.1/Bin" \ 
    -L"C:/Program Files/GnuWin32/lib/" \ 
    -L"E:/confuse-2.7/confuse-2.7/windows/msvs.net/libConfuse/Release" 
LIBS += -lexpat \ 
    -lcrypto \ 
    -lssl\ 
    -lconfuse 
unix:LIBS += libgsoap++.a \ 
    -lgsoap 
win32:LIBS += -lwsock32 

actualización

he utilizado Dependency Walker como se ha mencionado wh Me ayuda a encontrar las dependencias faltantes. Ahora he corregido todas las dependencias excepto MPR.DLL (Advertencia: Al menos un módulo tiene una importación no resuelta debido a una función de exportación faltante en un módulo dependiente de la carga de retardo). No faltaba, así que lo dejé fuera. También he usado un archivo de configuración. Ahora he copiado el archivo conf en el directorio de depuración para el compilador WIN32. No recuerdo si he usado más de un archivo conf
Aún el programa sale automáticamente con el código -1073741515 . Intenté depurar el programa usando un depurador de GUI. Pero el programa ni siquiera se está rompiendo en main también.

¿Alguien podría ayudarme a salir de esto?

Respuesta

22

-1073741515 es lo mismo que 0xC0000135 que creo que a menudo se debe a que falta una dependencia. Sugeriría comprobar que todas las DLL de las que depende su aplicación están en las ubicaciones correctas.

Puede usar Dependency Walker para esto.

+0

Gracias! Esto funcionó para mí también. – chwi

+0

Cuando vi este código de salida, era la única pista provista por un programa ejecutado en segundo plano sin acceso a la GUI de Windows (porque la ejecutaba otro programa). Traté de ejecutar el programa directamente desde el símbolo del sistema y apareció una ventana de error que explica exactamente qué DLL faltaba. – nmgeek

1

que tenían el mismo problema, fija cambiando la configuración de proyectos Proyectos -> cadena de herramientas -> MinGW (32 bits x 86)

Cuestiones relacionadas