QT-在pro中指定DLL路径.文件
QT - Specify DLL path in pro. file
正如问题标题所说,我特别想知道如何在实际的项目文件中包含.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有一个固定的搜索序列来定位必要的dll文件。这些序列都不能放入QT pro文件中。因此,下面的语句
LIBS += "D:/Projects/Build Output/bin/x86 debug/myLib.dll"
最接近的方法可能是将dll路径定义为专业文件中的宏。然后使用LoadLibrary从c/c++源文件中的这些路径显式加载dll。当然,只有当您可以使用显式链接而不是隐式链接时,
您不需要将dll路径放在.pro文件(windows)中。您所需要做的就是将所有外部dll文件放在一个目录中,并将该目录添加到路径环境变量中。(与已接受的答案相同)。我在这里添加这个只是为了提到一个重要的事实:RESTART QT CREATOR使其工作,以便重新加载新的PATH环境变量。
您只需要阅读手册并执行以下操作:https://doc.qt.io/archives/qt-4.8/qmake-variable-reference.html#libs.你使用的语法似乎是正确的。
相关文章:
- 如何使特定程序仅从安装的路径运行以避免DLL劫持
- 如何从客户端为COM服务器设置dll搜索路径?
- MFC:重写附属 DLL 中 RC 文件中的位图路径
- 设置所需DLL文件的自定义路径:电子应用
- 问题在具有依赖性时从其他路径上加载DLL的DLL
- GetFullPathNameA 不返回 DLL 的路径
- GetFullPathName 不会获取 DLL 路径
- 在 Windows 中加载共享库时在特定路径中选取 dll
- 错误53:找不到文件,而是路径中存在所有DLL
- 当InProcServer32键定义DLL的完整路径时,path环境变量中为什么需要COM DLL的路径
- 搜索.NET组件的搜索路径取决于C /CLI DLL
- Windows找不到DLL在路径中的目录中以为其
- VS2012:“找不到资源编译器DLL.请确保路径正确.”
- Maven NAR插件:在路径上找不到DLL依赖项
- 仅资源 DLL - 文件夹、路径
- QT-在pro中指定DLL路径.文件
- 通过给出DLLName来定位DLL路径
- 设置dll路径来构建qt文件
- 获取dll路径/字符串问题(c++初学者)
- 如何为CMake添加外部DLL路径