qmake语言保留字问题(我认为)

时间:2016-07-16 11:57:27

标签: c++ qt c++11 qt5 qmake

为了给出一些上下文,我正在使用静态插件(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() << "\"";的问题,其中"必须以\开头。

1 个答案:

答案 0 :(得分:0)

qmake语法不知道&#34; if&#34;。只需使用:

!debug_and_release|build_pass:CONFIG(debug, debug|release) {
   win32:LIBS = $$member(LIBS, 0) $$member(LIBS, 1)d
}