如何在 qmake(QtCreator)中指定 Mac 平台

在 Qt 项目文件(.pro 文件)中设置针对 Mac OS 的配置项。通常情况下,我们可以使用如下方式为 Windows 和 Unix 系统分别添加源文件:

pro 复制代码
win32 {
    SOURCES += hellowin.cpp
}
unix {
    SOURCES += hellounix.cpp
}

虽然 Mac OS 是类 Unix 系统,但有时我们仍然需要区分它和 Linux 系统。下面是具体方法:

检测 Mac OS X

使用 macx 标识符可以检测 Mac OS X:

pro 复制代码
macx {
    SOURCES += hellomac.cpp
}

为了区分 Mac 和 Linux,可以使用以下方式:

pro 复制代码
unix:!macx {
    SOURCES += hellolinux.cpp
}

macx {
    SOURCES += hellomac.cpp
}

注意事项

在 .pro 文件中,务必将 { 放在操作系统标识符的同一行。如果将 { 放在下一行,条件判断将无法正常工作。

例如,以下写法是正确的:

pro 复制代码
macx {
    SOURCES += hellomac.cpp
}

而以下写法是错误的:

pro 复制代码
macx
{
    SOURCES += hellomac.cpp
}

适用于 Mac OS 和 iOS

mac 标识符同时适用于 Mac OS X 和 iOS,而 macx 仅适用于 Mac OS X。因此,如果未来可能需要支持 iOS 或者想保持灵活性,建议使用 mac 标识符。

例如:

pro 复制代码
win32 {
    SOURCES += hellowin.cpp
}
mac {
    SOURCES += hellomac.cpp
}

而如果仅针对 Mac OS X,可以使用 macx 标识符:

pro 复制代码
win32 {
    SOURCES += hellowin.cpp
}
macx {
    SOURCES += hellomacx.cpp
}

参考文档

更多关于未记录的范围,可以查阅 Qt 源代码

通过上述方法,可以在 .pro 文件中区分不同操作系统,并设置相应的配置项,从而确保项目在不同平台上的兼容性和正确性。

相关推荐
大猩猩爱分享6 小时前
Mac安装docker desktop
macos·docker
伊织code6 小时前
pmset - 控制 macOS 系统电源、睡眠、唤醒与节能
macos·命令·电源·睡眠·节能·唤醒·pmset
serve the people7 小时前
在mac上安装sh脚本文件
macos
莫邪博客7 小时前
解决蓝牙MAC 地址倒序问题
macos
草明8 小时前
macOS 查看当前命令行的ruby的安装目录
开发语言·macos·ruby
五阿哥爱跳舞8 小时前
MAC无法 ping 通github 系列主页
macos
前端 贾公子1 天前
「混合开发」H5与原生App交互流程方案全面解析
macos·objective-c·cocoa
I烟雨云渊T1 天前
2025年的WWDC所更新的内容
macos·ios·wwdc
Fatbobman(东坡肘子)1 天前
WWDC 2025 开发者特辑 | 肘子的 Swift 周报 #088
开发语言·macos·ios·swiftui·ai编程·swift·wwdc
vastgrassland1 天前
从WWDC看苹果产品发展的规律
macos·ios·wwdc