在qmake中定义跨平台行为的正确方法是什么?我正在尝试合并两个使用相同代码库但在qmake项目文件中具有不同参数的项目,例如不同的编译器标志或图标文件。
为了澄清,如果有人从版本控制中拉出MyProject.pro并尝试在mac上运行qmake,我想要在Windows机器上进行相同的操作时改变几行。有没有办法向$> qmake ...
或更好地添加参数,而不必改变任何东西?
答案 0 :(得分:2)
你可以这样写:
win32:{
# Do something Windows specific
} else {
# Options for other platforms
}
<。>在.pro文件中。
答案 1 :(得分:2)
是的,QMake确实以范围的形式支持条件语句。基本上,你写这样的东西:
DEFINES = MY_DEF
win32 {
DEFINES += WE_ARE_ON_WINDOWS
debug {
DEFINES += DEBUG_WINDOWS
}
}
如示例所示,范围可以嵌套。 OR的|
等运算符也是可能的。
有关变量和函数的完整列表,请参阅QMake documentation。