这个最简单的程序在发布模式下编译时会出错,但在调试模式下编译很好:
#include <QApplication>
int main(int argc, char* argv[])
{
QApplication app(argc,argv);
return app.exec();
}
错误(从qt的控制台输出)
*启动C:\ excercizes \ QT_projects \ Line_Counter-build-desktop-Qt_4_7_4_for_Desktop _-_ MinGW_4_4__Qt_SDK__Release \ release \ Line_Counter.exe ... 该计划意外完成。 C:\ excercizes \ QT_projects \ Line_Counter-build-desktop-Qt_4_7_4_for_Desktop _ -_ MinGW_4_4__Qt_SDK__Release \ release \ Line_Counter.exe退出,代码为-1073741511 *
有人有这种经历吗?
答案 0 :(得分:4)
值-1073741511是0xC0000139十六进制,这是错误代码STATUS_ENTRYPOINT_NOT_FOUND。这意味着某些DLL由EXE或其他DLL加载,但它缺少EXE或其他DLL期望的函数。
Event Viewer可能会显示错误发生时哪些DLL缺少什么功能。 Dependency Walker也会向您展示这个,以及整个DLL结构。
答案 1 :(得分:0)
在大多数情况下,这是因为缺少可执行文件所需的.dll文件。
最直接的方法是从Qt安装中复制以下文件(例如C:\Qt\Qt5.4.2\5.4\mingw491_32\bin
):
...进入DEBUG和RELEASE配置的/ debug和/ release目录。