添加库后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。重新安装应用程序可能会解决此问题。
解决方案
将依赖的dll
s 复制到PATH
环境变量的文件夹或可执行文件的位置。
【讨论】:
以上是关于添加库后qt应用程序在启动时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
添加 react-native-jitsi-meet 库后应用程序崩溃
基于 Qt 的 android 应用程序在一台特定设备上启动时崩溃。 “dlopen 失败:libqtforandroid”
我的 Blackberry 10 Cascades(C++、Qt 和 QML)示例应用程序在启动时崩溃并出现以下错误
Qt for android 的程序在启动时直接崩溃是啥原因