添加库后qt应用程序在启动时崩溃

Posted

技术标签:

【中文标题】添加库后qt应用程序在启动时崩溃【英文标题】:qt app crash on start after adding a library 【发布时间】:2020-08-14 21:38:36 【问题描述】:

我目前正在开发一个针对 Windows 平台的 QT 应用程序。

在我的系统上编译和安装 ITPP(it++ 库)后,我尝试将其添加到此项目中,但在链接 .lib 并添加头文件后,当我尝试包含和使用它时,应用程序在启动时崩溃没有任何输出!

我在应用程序输出中得到什么:

AppName.exe exited with code -1073741515

在 .pro 文件中:(.lib 和头文件夹在根目录下)

win32: LIBS += -L$$PWD/./ -litpp

INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.

导致崩溃的代码:

#include <itpp/itcomm.h>

using namespace itpp;
using namespace std;

... (sample from test files)

【问题讨论】:

运行应用程序时很可能找不到 dll。您是否将他们的路径添加到系统路径中?或者将它们复制到与您的 exe 相同的文件夹中? 该错误是关于缺少 dll 0xc0000135。它在这个列表中:https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55 Unable To Locate Component 由于找不到 %hs,此应用程序无法启动。重新安装应用程序可能会解决此问题。 如果你在程序员模式下开始计算并粘贴-1073741515,你会在低32位得到0xc0000135。只是想提一下我是如何获得这个价值的.. @Zlatomir 谢谢,将 .dll 复制到 .exe 文件旁边后问题解决。它在 system32 文件夹中,但无法正常工作!也许您可以发布一个答案,以便我选择它作为正确答案。 @drescherjm 谢谢。你是对的。也许您可以发布一个答案,以便我选择它作为正确答案。 【参考方案1】:

原因

您得到的错误代码-1073741515 是十六进制的0xc0000135。根据状态codes的Microsoft文档,缺少dll

STATUS_DLL_NOT_FOUND 无法找到组件此应用程序无法启动,因为未找到 %hs。重新安装应用程序可能会解决此问题。

解决方案

将依赖的dlls 复制到PATH 环境变量的文件夹或可执行文件的位置。

【讨论】:

以上是关于添加库后qt应用程序在启动时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

添加 react-native-jitsi-meet 库后应用程序崩溃

基于 Qt 的 android 应用程序在一台特定设备上启动时崩溃。 “dlopen 失败:libqtforandroid”

我的 Blackberry 10 Cascades(C++、Qt 和 QML)示例应用程序在启动时崩溃并出现以下错误

Qt for android 的程序在启动时直接崩溃是啥原因

使用 Qt 的程序,OpenCV 从 VS 启动时运行良好,但在使用 OpenCV 功能时运行可执行文件通常会崩溃

Qt Designer 4.8 在 Mac OS X 10.7 上启动时崩溃