正如问题标题所说,我特别想知道如何在实际项目文件中包含.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
很酷,只是知道它可以完成,感谢您的帮助:)。
答案 0 :(得分:2)
如果你的意思是你想要生成的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文件中的宏。然后从c / c ++源文件中的那些路径使用LoadLibrary到explicitly load dlls。当然只有你可以通过显式链接而不是隐式链接来解决,
答案 1 :(得分:0)
您只需阅读手册并执行相同的操作:http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html#libs。您正在使用的语法似乎是正确的。
答案 2 :(得分:0)
您不需要将.dll路径放在.pro文件中(窗口)。您需要做的就是将所有外部dll文件放在一个目录中,并将此目录添加到路径环境变量中。 (与接受的答案相同)。我在这里添加这个只是提到一个重要的事实:RESTART QT CREATOR为此工作以重新加载新的PATH环境变量。