自定义qt项目时使用条件

Mik*_*mka 5 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>
}
Run Code Online (Sandbox Code Playgroud)

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

解析错误('else')

怎么做正确?

小智 9

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

CONFIG += APP1

APP1 {
  LIBS += <LIB1>
  DESTDIR = <DIR1>
} else {
  LIBS += <LIB2>
  DESTDIR = <DIR2>
}
Run Code Online (Sandbox Code Playgroud)


Dan*_*iev 5

我只想注意关于条件的 1 件事 确保大括号不是同一行。否则会失败

好的

CONFIG += opencv_32_bit

opencv_32_bit {

} else {

}
Run Code Online (Sandbox Code Playgroud)

将失败

CONFIG += opencv_32_bit

opencv_32_bit 
{

}
else
{

}
Run Code Online (Sandbox Code Playgroud)

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