使用 qmake/Qt Creator 链接调试/发布库
我正在使用 Qt Creator 并有一个依赖于 C++ 静态库项目的 Qt GUI 项目。 我想将 GUI 应用程序的发布版本与 .lib 的发布版本链接起来,并将 GUI 应用程序的调试版本与调试 .lib 链接起来。 我已经找到了如何通过在 .pro 文件中包含如下行来向项目添加其他库:
LIBS += -L./libfolder -lmylib.lib
但我不明白如何可以使用不同的 -L
命令进行发布和调试版本。
qmake 是否支持这样做?
I am using Qt Creator and have a Qt GUI project that depends on a C++ static library project. I want to link the release version of the GUI app with the release build of the .lib and the debug release of the GUI app with the debug .lib. I have found out how to add additional libraries to the project by including a line like the following in my .pro file:
LIBS += -L./libfolder -lmylib.lib
But I cannot see how I can use a different -L
command for release and debug builds.
Is there support in qmake to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
当用户天真地使用
CONFIG += debug
或CONFIG += release
在调试和发布版本之间切换时,正常的解决方案就会中断(他们确实这么做了;没有人记得说<在
CONFIG += debug
之前代码>CONFIG -= release release_and_debug :)。这是调试范围的规范方法:
Cf. qmake 文档 。
编辑 2013-11-17:不要在
LIBS
中使用-Lfoo
。 规范的方法是将路径(不带-L
)添加到QMAKE_LIBDIR
。The normal
solution breaks when users naively use
CONFIG += debug
orCONFIG += release
to switch between debug and release builds (and they do; no-one remembers to sayCONFIG -= release release_and_debug
beforeCONFIG += debug
:).This is the canonical way to scope on
debug
:Cf. the qmake docs.
EDIT 2013-11-17: Don't use
-Lfoo
inLIBS
. The canonical way is to add the paths (without the-L
) toQMAKE_LIBDIR
.在你的项目文件中,你可以做这样的事情
如果 DEBUG 已添加到 CONFIG qmake 变量,则使用调试大括号内的位,如果 RELEASE 已添加到 CONFIG 变量,则包含释放括号内的类似内容。
您还可以使用“!debug”而不是“release”(即当调试不在配置中时)
您可以在 qmake 此处。
In your project file you can do something like this
The bit inside the debug braces is used if DEBUG has been added to the CONFIG qmake variable, similarly stuff inside the release brackets is included if RELEASE has been added to the CONFIG variable.
You can also use "!debug" rather than "release" (i.e. when debug isn't in the config)
You can find more information on qmake here.