我经常需要针对比我当前运行的版本更旧的 Mac OS X 版本。因为我更喜欢使用 bash shell 和 Makefile,所以我不使用 Xcode。苹果 explicitly supports targeting older OS X versions ,但我一直对通常用于针对旧平台的两个配置步骤的冗余感到困惑:
--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
根本,即使它似乎更常见。
最佳答案
Mac OS X 上 gcc 的手册页说它们是同义词:
-mmacosx-version-min=version The earliest version of MacOS X that this executable will run on is version. Typical values of version include 10.1, 10.2, and 10.3.9. This value can also be set with the MACOSX_DEPLOYMENT_TARGET environment variable. If both the command-line option is specified and the environment variable is set, the command-line option will take precedence.
关于macos - MACOSX_DEPLOYMENT_TARGET 和 -mmacosx-version-min 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25352389/