M1芯片Mac配置Qt提示No compiler can produce code for this Qt version如何解决
Apple Silicon 平台 Qt Creator 构建环境配置解决方案
前置检查
- 先确认已安装完整的Xcode命令行工具,执行以下命令完成安装/路径配置:
# 未安装命令行工具时执行 xcode-select --install # 已安装的情况下配置正确的工具链路径 sudo xcode-select -s /Library/Developer/CommandLineTools # 若安装了完整Xcode,也可以指定Xcode内置的工具链路径 # sudo xcode-select -s /Applications/Xcode.app/Contents/Developer - 验证Qt版本架构,执行命令确认你安装的Qt对应架构:
若返回结果只有x86_64标识,说明你安装的是Rosetta转译的Qt版本,需要升级Homebrew到最新版后重新安装对应Qt包,确保安装原生arm64版本。# 以Qt 5.15为例,替换为你实际的qmake路径 file $(brew --prefix qt@5)/bin/qmake
编译器配置修正
不要手动克隆x86 clang配置后修改ABI,完成上述工具链配置后重启Qt Creator,会自动检测到支持arm64架构的clang编译器。如果仍未自动检测,手动添加编译器时在额外编译参数中默认添加-arch arm64即可,无需手动修改ABI字段。
构建套件配置
在套件配置页选择:
- C/C++编译器:自动检测到的arm64版clang
- Qt版本:对应架构的Qt 5.15/6.1
- CMake路径:Homebrew安装的原生arm64版cmake路径
保存后套件即可正常使用,不会再报架构不匹配错误。
通用二进制构建方法
如果需要输出同时支持x86_64和arm64的通用二进制:
- CMake项目:在CMakeLists.txt顶部添加配置
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE) - QMake项目:在.pro文件中添加配置
QMAKE_APPLE_DEVICE_ARCHS = x86_64 arm64
然后正常构建即可得到通用二进制产物。
内容的提问来源于stack exchange,提问作者ManuelSchneid3r
相关产品推荐
相关产品推荐

