自定义qt项目时使用条件

时间:2013-01-22 10:40:44

标签: qt qmake

美好的一天! 我有一个qt项目,我想使用.pro文件条件自定义它。值得注意的是,我想使用一个.pro文件来获得几个输出,如下所示:

DEFINES += APP1=0 APP2=1
DEFINES += TYPE=APP1
if(TYPE == APP1) {
LIBS += <LIB1>
DESTDIR = <DIR1>
}
else {
LIBS += <LIB2>
DESTDIR = <DIR2>
}

但是当我尝试构建我的项目时,运行qmake时出现以下错误:

  

解析错误('else')

如何正确地做到这一点?

2 个答案:

答案 0 :(得分:8)

CONFIG变量中存储的值由qmake专门处理。每个可能的值都可以用作范围的条件。因此,您的项目文件可以简单地写为:

CONFIG += APP1

APP1 {
  LIBS += <LIB1>
  DESTDIR = <DIR1>
} else {
  LIBS += <LIB2>
  DESTDIR = <DIR2>
}

答案 1 :(得分:3)

我只想注意一下条件 确保花括号不是同一行。否则它将失败

CONFIG += opencv_32_bit

opencv_32_bit {

} else {

}

将失败

CONFIG += opencv_32_bit

opencv_32_bit 
{

}
else
{

}

我不知道为什么,但我有这个问题,因为我更喜欢下一行的大括号