Qt qmake跨平台开发



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

澄清一下,如果有人从版本控制中提取 MyProject.pro 并尝试在 mac 上运行 qmake,我希望与 Windows 机器上的相同操作相比,更改几行。 有没有办法为$> qmake ...或更好的参数添加参数,而不必更改任何内容?

是的,QMake 确实支持作用域形式的条件语句。基本上,你写这样的东西:

DEFINES = MY_DEF
win32 {
  DEFINES += WE_ARE_ON_WINDOWS
  debug {
    DEFINES += DEBUG_WINDOWS
  }
}

如示例所示,范围可以嵌套。也可以使用OR的|等运算符。

有关变量和函数的完整列表,请参阅 QMake 文档。

你可以这样写:

win32:{
    # Do something Windows specific 
} else {
    # Options for other platforms
}

在您的 .pro 文件中。

最新更新