为 macOS arm64 arch 编译

Compiling for macOS arm64 arch

我正在使用 macOS 10.15.7 为 macOS arm64 架构构建一个简单的 hello world C++ 程序(不是 iOS)。我安装了 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,但它似乎不起作用。

当我删除 'EXCLUDED_ARCHS' 部分时它工作正常。

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

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