我正在使用Qt Creator并拥有一个依赖于C++静态库项目的Qt GUI项目.我想将GUI应用程序的发布版本与.lib的发布版本以及带有调试.lib的GUI应用程序的调试版本链接起来.我已经找到了如何通过在我的.pro文件中包含如下所示的行来向项目中添加其他库:
LIBS += -L./libfolder -lmylib.lib
但是我看不出如何使用不同的-L命令来发布和调试版本.
qmake是否有支持这样做?
Mar*_*utz 44
正常
debug:LIBS += ...
else:LIBS += ...
Run Code Online (Sandbox Code Playgroud)
当用户天真地使用CONFIG += debug或CONFIG += release在调试和发布版本之间切换时,解决方案会中断(而且他们会这样做;没有人记得在CONFIG -= release release_and_debug之前说过CONFIG += debug:).
这是规范的范围debug:
CONFIG( debug, debug|release ) {
# debug
QMAKE_LIBDIR += "path/to/debug/lib"
} else {
# release
QMAKE_LIBDIR += "path/to/release/lib"
}
Run Code Online (Sandbox Code Playgroud)
参看 qmake文档.
编辑2013年11月17日:不要使用-Lfoo在LIBS.规范的方法是添加路径(没有-L)QMAKE_LIBDIR.
Nic*_*ick 25
在您的项目文件中,您可以执行以下操作
debug {
LIBS += -L./libfolder -lmydebuglib.lib
}
release {
LIBS += -L./libfolder -lmyreleaselib.lib
}
Run Code Online (Sandbox Code Playgroud)
如果已将DEBUG添加到CONFIG qmake变量,则使用调试大括号内的位,如果将RELEASE添加到CONFIG变量,则类似于释放括号内的内容.
您也可以使用"!debug"而不是"release"(即当调试不在配置中时)
您可以在此处找到有关qmake的更多信息.