*-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