我的程序意外完成
Posted
技术标签:
【中文标题】我的程序意外完成【英文标题】:My program has unexpectedly finished 【发布时间】:2011-11-18 09:25:03 【问题描述】:这个最简单的程序在发布模式下编译时出错,但在调试模式下编译正常:
#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*
有人有过这种经历吗?
【问题讨论】:
您确定它可以找到所有必要的 DLL 吗?您也许可以使用 DependencyWalker 之类的东西来验证这一点。 【参考方案1】:值 -1073741511 是 0xC0000139 十六进制,即错误代码 STATUS_ENTRYPOINT_NOT_FOUND。这意味着某些 DLL 是由 EXE 或另一个 DLL 加载的,但它缺少 EXE 或另一个 DLL 所期望的功能。
Event Viewer 可能会在错误发生时向您显示哪个 DLL 缺少什么功能。 Dependency Walker 也会向您展示这一点,以及整个 DLL 结构。
【讨论】:
【参考方案2】:在大多数情况下,这是因为缺少可执行文件正在查找的必要 .dll 文件。
最直接的方法是从您的 Qt 安装中复制以下文件(例如 C:\Qt\Qt5.4.2\5.4\mingw491_32\bin
):
...进入 DEBUG 和 RELEASE 配置的 /debug 和 /release 目录。
【讨论】:
以上是关于我的程序意外完成的主要内容,如果未能解决你的问题,请参考以下文章
请求完成处理程序致命错误:在展开可选值异常时意外发现 nil
我的电脑出现系统处理程序C:\windows\system32\services.exe意外终止,状态码