*-apple-darwin
Apple macOS 目标平台。
级别:1
x86_64-apple-darwin
:在 64 位 x86 架构上的 macOS。aarch64-apple-darwin
:在 ARM64 (M1 系列或更新的 Apple Silicon CPU) 上的 macOS。
目标维护者
要求
操作系统版本
在 x86 架构上,最低支持的版本是 macOS 10.12 Sierra;在 ARM64 架构上,最低支持的版本是 macOS 11.0 Big Sur。
可以通过更改部署目标来提高每个二进制文件的最低支持版本,这可能会带来更多的性能优化。rustc
会遵守 Xcode 常用的环境变量,这里是 MACOSX_DEPLOYMENT_TARGET
。
可以使用rustc --print=deployment-target
来检索 rustc
当前默认的部署目标。
二进制格式
默认的二进制格式是 Mach-O,这是 Apple 平台上使用的可执行文件格式。
构建
这些目标平台通过 rustup
分发,并且不需要其他特殊的配置。
测试
测试和运行此目标平台没有特殊的要求。
x86 二进制文件可以通过使用 Rosetta 在 Apple Silicon 上运行。
交叉编译工具链和 C 代码
使用 Clang 支持对这些目标平台进行交叉编译,但是可能需要 Xcode 或 macOS SDK (MacOSX.sdk
) 来编译 C 代码和链接。
Clang 目标平台的后缀是 -macosx
。Clang 的 -darwin
目标平台是指一般的 Darwin 平台(macOS/iOS/tvOS/watchOS/visionOS),并且需要 -mmacosx-version-min=...
、-miphoneos-version-min=...
或类似的标志来消除歧义。
可以使用常用的 SDKROOT
环境变量将 SDK 的路径传递给 rustc
。