Qt qmake跨平台开发

时间:2015-04-20 14:33:25

标签: c++ qt cross-platform qmake

在qmake中定义跨平台行为的正确方法是什么?我正在尝试合并两个使用相同代码库但在qmake项目文件中具有不同参数的项目,例如不同的编译器标志或图标文件。

为了澄清,如果有人从版本控制中拉出MyProject.pro并尝试在mac上运行qmake,我想要在Windows机器上进行相同的操作时改变几行。有没有办法向$> qmake ...或更好地添加参数,而不必改变任何东西?

2 个答案:

答案 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