gpt4 book ai didi

c++ - Qt 应用程序找不到第 3 方 DLL 并崩溃

转载 作者:行者123 更新时间:2023-11-30 04:56:41 24 4
gpt4 key购买 nike

我正在尝试在 QT 中构建一个使用 libmodbus 库的应用程序。我正在使用 MinGW 5.3 (Windows 7)。该应用程序将构建而不会出现错误,但在尝试运行时会崩溃。调试消息说:

During startup program exited with code 0xc0000135

如果我双击创建的可执行文件,会出现一个错误:

libmodbus-5.dll is missing

从我的电脑。

Libmodbus 是使用相同的编译器构建的。包含文件位于 ../../codelibrary/MinGW63/libmodbus-master/src,链接器文件位于 ../../codelibrary/QtMinGW53/libmodbus- master/src/.libs(.libs 文件夹同时包含 libmodbus.dll.alibmodbus-5.dll)。

如果我使用 Qt 的第 3 方库向导添加这个库,那么我会在我的 .pro 文件中得到以下内容:

win32: LIBS += -L$$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src/.libs/ -llibmodbus.dll

INCLUDEPATH += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src
DEPENDPATH += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src

win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src/.libs/libmodbus.dll.lib
else:win32-g++: PRE_TARGETDEPS += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src/.libs/liblibmodbus.dll.a

这给了我错误:

-1: error: No rule to make target '../../codelibrary/MinGW63/libmodbus-master/src/.libs/liblibmodbus.dll.a', needed by 'debug\QTRosemount.exe'. Stop.

然后我尝试将 .pro 文件更改为:

LIBS += -L$$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src/.libs/libmodbus-5.dll

INCLUDEPATH += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src
DEPENDPATH += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src

PRE_TARGETDEPS += $$PWD/../../codelibrary/QtMinGW53/libmodbus-master/src/.libs/libmodbus.dll.a

此时它将无错误地构建并立即崩溃,代码为 0xc0000135 并缺少 libmodbus-5.dll。我尝试了很多 .pro 路径的变体,但都遇到了同样的错误。

注意:我已经能够使用这个库在 Codeblocks 中运行控制台应用程序,但不确定我在 Qt 中遇到了什么。

如何解决这个问题?

最佳答案

您可以使用 INSTALL SET 并将其附加到 INSTALL 列表中,如 QT documentation 所示。如下图所示:

documentation.path = /usr/local/program/doc
documentation.files = docs/*
INSTALLS += documentation

为方便起见,您也可以使用 QMAKE_PRE_LINK .现在您有了一些选择,您可以在 stackoverflow 中找到更多信息,例如 posts like this one。 .

关于c++ - Qt 应用程序找不到第 3 方 DLL 并崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52395636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com