如何在 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 文件中区分不同操作系统,并设置相应的配置项,从而确保项目在不同平台上的兼容性和正确性。

相关推荐
zhensherlock5 小时前
Protocol Launcher 系列:Agenda 优雅组织你的想法与日程
javascript·macos·ios·typescript·node.js·mac·ipad
ipy2Tf8WP6 小时前
全程用 Claude Code 搓了一个 macOS 原生应用:SkillDeck
macos
eLIN TECE7 小时前
Mac安装Redis步骤
redis·macos·bootstrap
独隅9 小时前
在 MacOS 上部署 Keras 模型的全面指南
人工智能·macos·keras
飞翔的SA1 天前
MLX‑VLM :Mac本地跑通多模态大模型的开源项目!让图片、音频、视频理解一键上手
人工智能·python·macos·音视频
sunfdf2 天前
移动硬盘上的文件消失了?以下是Mac电脑解决方法
macos·电脑
wonderomg2 天前
Mac安装openclaw步骤
macos·openclaw
whatzhang0072 天前
在 macOS 上从零配置 Vim:开启语法高亮 + 安装 vim-polyglot + 设置 gruvbox 主题
macos·vim·excel
徐健峰3 天前
Claude Code 安装完全指南(Mac 版):Git、环境变量、PATH 与常见报错一次讲清(2026)
git·macos·arcgis
AppOS3 天前
手把手教你 Openclaw 在 Mac 上本地化部署,保姆级教程!接入飞书打造私人 AI 助手
人工智能·macos·飞书