【发布时间】:2013-06-13 03:53:30
【问题描述】:
当使用 Clang 或 GCC 的 Darwin 后端为 OSX 创建可执行文件时,-mmacosx-version-min=version 标志可用于设置可执行文件将在其上运行的最早版本的 OSX。
有没有办法从给定的可执行文件中追溯使用哪个标志来编译它? IE。有没有办法确定给定可执行文件所针对的最低 OSX 版本?
【问题讨论】:
-
郑重声明,自从 GCC 的许可证更改为 GPLv3 以来,Apple 没有为 GCC 做出过贡献。尽可能使用 Clang/LLVM。
-
简答
otool -l /path/to/bin | grep -E -A4 '(LC_VERSION_MIN_MACOSX|LC_BUILD_VERSION)' | grep -B1 sdk;这也适用于像 M1 这样的 ARM64 机器。version或minos提供最低支持的 macOS 版本,而sdk提供 SDK 版本。