首页 > 解决方案 > 为 macOS arm64 arch 编译

问题描述

我正在使用 macOS 10.15.7 为macOS arm64 架构(不是 iOS)构建一个简单的 hello world C++ 程序。我安装了 Xcode 12。我尝试了以下方法:

xcodebuild -project TestApp.xcodeproj clean build ARCHS=arm64 EXCLUDED_ARCHS=""

但收到以下错误:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
#error Unsupported architecture

和类似的其他错误。

我想我可以从我的 x86_64 mac 为即将推出的基于 ARM 的 mac 进行交叉构建,但它似乎不起作用。

标签: c++xcodecross-compilingarm64xcode12

解决方案


适用于 macOS Big Sur 的 SDK 并未作为公共 Xcode 12.0 版本的一部分发布,它仅包含适用于 Catalina (macOS 10.15) 的 SDK。

要针对 macOS Big Sur(和 Apple Silicon 上的 macOS),您需要 beta SDK(Xcode 12.2 beta)。


推荐阅读