gpt4 book ai didi

macos - macosx-version-min 是什么意思?

转载 作者:行者123 更新时间:2023-12-03 10:36:56 30 4
gpt4 key购买 nike

当我通过编译器标志 -mmacosx-version-min=10.5 , 这是什么意思?我认为这意味着结果二进制是 x86,而不是 ppc,但它是 32 位还是 64 位?我在雪豹上编译,所以默认输出二进制是 64 位。我没有路过-universal ,我认为它不是 32 位-64 位通用二进制文件。

最佳答案

此选项将由放置在标题中的各种可用性宏使用。这意味着您可能需要最低版本的操作系统,即使您有更新的 SDK(即使用 10.6 SDK 定位 10.5)。在以 10.5 为目标时使用 10.6 API 将触发警告,并且该 API 将与weak_import 属性链接。

大多数 Apple 的 API header 都包含每个类、方法、函数或枚举的可用性宏,以便为每个类声明:

  • 支持的最低操作系统
  • 弃用
  • 不可用
  • ...

  • 宏看起来像:
  • AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  • AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED
  • ...

  • 至于架构,它只取决于 SDK 二进制文件中可用的架构。例如,对于 10.5 SDK,您可以针对四种架构(Intel/32bits、PowerPC/32bits、Intel/64bits、PowerPC 64bits),而对于 10.6 SDK,您只能针对三种架构(Intel/32bits、PowerPC/32bits、英特尔/64 位)。

    当您使用 Snow Leopard 时,您可以非常简单地通过传递这样的架构选项来定位 i386(Intel/32bits)、ppc(PowerPC/32bits)或 x86_64(Intel/64bits):
    gcc -arch i386

    或者像这样(对于基于配置的项目):
    CFLAGS="-arch i386" LDFLAGS="-arch i386" ./configure

    关于macos - macosx-version-min 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2923502/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com