为了给出一些上下文,我正在使用静态插件(http://doc.qt.io/qt-5/plugins-howto.html#static-plugins)打包可执行文件。
在Windows中,我这样做:
LIBS = -L../../plugins -lrawplugin
LIBS = -L../../plugins -lbasictools
if(!debug_and_release|build_pass):CONFIG(debug, debug|release)
win32:LIBS = $$member(LIBS, 0) $$member(LIBS, 1)d
if
语句负责在调试模式下将字母d
添加到库名称,例如文件名为librawplugind.a
。
在Mac OS上,库被命名为libbasictools_debug.a
,所以我想我会在d
语句中用debug
替换if
:
if(!debug_and_release|build_pass):CONFIG(debug, debug|release)
win32:LIBS = $$member(LIBS, 0) $$member(LIBS, 1)debug
但它没有奏效。我猜是因为debug
是qmake语言中的保留字。
如何克服这个问题?
我认为这类似于在"
中打印qDebug() << "\"";
的问题,其中"
必须以\
开头。
答案 0 :(得分:0)
qmake语法不知道&#34; if&#34;。只需使用:
!debug_and_release|build_pass:CONFIG(debug, debug|release) {
win32:LIBS = $$member(LIBS, 0) $$member(LIBS, 1)d
}