美好的一天! 我有一个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')
如何正确地做到这一点?
答案 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
{
}
我不知道为什么,但我有这个问题,因为我更喜欢下一行的大括号