2010-07-29 95 views
10

我在Linux上编写了一个QTcreator中的程序,当我尝试将它移植到Windows时。 程序编译没有任何错误。 但是当我运行该程序就自动退出 开始C:\项目\ LIG \调试\ LIGenerator.exe ...我使用代码退出的QT应用程序-1073741515

C:\项目\ LIG \调试\ LIGenerator.exe与代码退出-1073741515

我试图用QT创建器调试器进行调试。但是程序的流程甚至不通过main.cpp。如何调试程序并罚款错误在哪里。


更新

在.pro文件的INCLUDEPATH和LIB是

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 

更新

我用的Dependency Walker提到以下WH我帮助我找到缺失的依赖关系。我现在修复了除MPR.DLL之外的所有依赖项(警告:由于延迟加载相关模块中缺少导出功能,至少有一个模块导入未解析导入)。 IT不会丢失,所以我把它丢掉了。 我还使用了一个配置文件。我现在已经将conf文件复制到WIN32编译器的调试目录中。我不记得我是否使用了多个conf文件
仍然程序自动退出,代码为-1073741515 。我试图使用GUI调试器来调试程序。但是,程序甚至在主要方面也没有突破。

任何人都可以帮我摆脱这个困境吗?

回答

22

-1073741515与0xC0000135相同,我认为这通常是因为依赖项丢失。我建议检查你的应用程序依赖的所有DLL在正确的位置。

您可以使用Dependency Walker

+0

谢谢!这也适用于我。 – chwi 2014-01-13 13:26:50

+0

当我看到这个退出代码时,它是在后台运行的程序提供的唯一提示,无法访问Windows GUI(因为它是由另一个程序运行的)。我试图直接从命令提示符运行程序,它弹出一个错误窗口,准确解释哪个DLL丢失。 – nmgeek 2016-10-14 14:22:05

1

我有同样的问题,通过更改项目设置项目固定 - >工具链 - > MinGW的(x86 32位系统)