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