我的程序意外完成

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):

icudt53.dll icuin53.dll icuuc53.dll libstdc++-6.dll Qt5Core.dll

...进入 DEBUG 和 RELEASE 配置的 /debug 和 /release 目录。

【讨论】:

以上是关于我的程序意外完成的主要内容,如果未能解决你的问题,请参考以下文章

qwt 示例 程序意外结束

请求完成处理程序致命错误:在展开可选值异常时意外发现 nil

我的电脑出现系统处理程序C:\windows\system32\services.exe意外终止,状态码

当我调用 setAdapter() 到 recycleView 时,我的 Android 应用程序意外退出

当我尝试访问我的应用程序起始页面时出现意外的登录屏幕

顶部带有 %include 的程序集 - 打印输出意外结果:只是一个“S”