c++ - QT - 在 pro 中指定 DLL 路径。文件

标签 c++ qt projects-and-solutions

正如问题标题所说,我特别想知道如何在实际项目文件中包含 .dll 文件的路径。我知道将 dll 文件包含在项目文件中是更好的做法,但我仍然想知道是否可以这样做?

目前我的 .pro 文件包含以下内容;

QT       += core gui

TARGET = Test
TEMPLATE = app

win32 {
    INCLUDEPATH += "D:/Projects/Build Output/include/"

    CONFIG(debug, debug|release) {
        LIBS += "D:/Projects/Build Output/libs/debug/myLib.lib"
        LIBS += "D:/Projects/Build Output/bin/x86 debug/myLib.dll"
    } 
    else {
        LIBS += "D:/Projects/Build Output/libs/release/myLib.lib"
        LIBS += "D:/Projects/Build Output/bin/x86 release/myLib.dll"
    }
}

SOURCES += main.cpp\
    mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

会很酷,只是知道它可以完成,在此先感谢您的帮助:)。

最佳答案

如果您的意思是您希望生成的 exe 可以在您运行它时自动找到其依赖的 dll 文件,那么它不能用于隐式 dll 链接(即与 .lib 文件链接,如您的示例所示)。 Windows 有 a fixed search sequence找到必要的 dll 文件。这些序列都不能放入 QT pro 文件中。所以下面的语句 没有效果 只是让 QT 知道在该路径中搜索 dll 的 .lib/.a 文件:

 LIBS += "D:/Projects/Build Output/bin/x86 debug/myLib.dll"

最接近的方法可能是将 dll 路径定义为 pro 文件中的宏。然后使用 LoadLibrary 到 explicitly load dlls从你的 c/c++ 源文件中的那些路径。当然,前提是您可以使用显式链接而不是隐式链接,

关于c++ - QT - 在 pro 中指定 DLL 路径。文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326401/

相关文章:

c++ - Qt拖放按钮;下降未检测

asp.net-mvc - 是否有针对 ASP.NET MVC 生产应用程序的建议解决方案结构

command-prompt - 如何使用命令行在 Visual Studio 2019 中打开项目?

c++ - 如何允许用户用字符替换数字 - Tic-Tac-Toe C++

c++ - 预期类型更改时如何获得编译器错误

c++ - 如何找到包含 X 的窗口的 PID

c++ - Qt 通过 const 引用传递——效率更高吗?为什么?

c++ - 错误 : LNK2001: unresolved external symbol "private: static class

c# - 如何在不添加对调用项目的引用的情况下通过类库正确解析 DLL 引用

c++ - Windows 与 Linux 上的 gSOAP C++ 代码