在qmake中定义跨平台行为的正确方法是什么?我试图合并两个项目,它们使用相同的代码库,但在qmake项目文件中有不同的参数,用于不同的编译器标志或图标文件。
为了澄清,如果有人从版本控制中提取MyProject.pro,并试图在mac上运行qmake,我希望与windows机器上的相同操作相比,更改几行代码。是否有任何方式向$> qmake ...或更好地添加参数,而不必更改任何内容?
发布于 2015-04-20 14:45:49
是的,QMake确实以作用域的形式支持条件语句。基本上,你写了这样的东西:
DEFINES = MY_DEF
win32 {
DEFINES += WE_ARE_ON_WINDOWS
debug {
DEFINES += DEBUG_WINDOWS
}
}如示例所示,作用域可以嵌套。还可以使用诸如| for OR之类的运算符。
有关变量和函数的完整列表,请参阅QMake文档。
发布于 2015-04-20 14:41:06
你可以写这样的东西:
win32:{
# Do something Windows specific
} else {
# Options for other platforms
}在.pro文件中。
https://stackoverflow.com/questions/29750772
复制相似问题