【发布时间】:2014-10-10 17:19:52
【问题描述】:
我经常需要针对比我当前运行的版本更旧的 Mac OS X 版本。因为我更喜欢使用 bash shell 和 Makefile,所以我不使用 Xcode。 Apple explicitly supports targeting older OS X versions,但我一直对通常针对旧平台采取的两个配置步骤的冗余感到困惑:
-
gcc 使用
启动--macosx-version-min:gcc --mmacosx-version-min=10.6 .... -
MACOSX_DEPLOYMENT_TARGET环境变量设置为所需的平台,例如export MACOSX_DEPLOYMENT_TARGET=10.6
当试图通过搜索找出两者之间的实际区别时,您会得到不同的答案。 Some people 说他们做的完全一样,所以只需要使用两者之一。但是,也有voices 表示必须同时执行这两个操作:使用--macosx-version-min 启动gcc 并 设置环境变量。
这两件事完全一样吗?是否只需要使用两者之一而不是两者?是否有一些官方文档可用? Apple mentions MACOSX_DEPLOYMENT_TARGET 但根本没有提到 --macosx-version-min,尽管它似乎更常见。
【问题讨论】:
-
据我所知,这两种方法都适用于 macOS 直到 10.14 (Mojave)。查看一些对我不利的开源项目,似乎 10.15 (Catalina) 和更新版本中的构建环境仅支持
MACOSX_DEPLOYMENT_TARGET。 (我没有在 10.15 或更高版本上测试过自己。)
标签: macos gcc backwards-compatibility