6

我们正在尝试定位我们的一些 OSX 机器 (10.11) 使用的当前平台 SDK。在这些机器上,只安装了命令行工具,而不是完整的 Xcode 应用程序。

查找 SO,我们能够找到命令xcrun --show-sdk-path,它打印出一个空行。

另一方面,xcrun --show-sdk-version正确显示10.11.

有没有办法找到我们编译任务使用的 SDK 的路径?

4

2 回答 2

4

这已经很晚了,但我才刚刚开始努力解决这个问题。

10.11.6 在 El Capitan 上运行。

$ xcrun --show-sdk-version
10.11
$ xcrun --sdk macosx10.11 --show-sdk-path
          << blank line here

$ xcrun --sdk macosx10.12 --show-sdk-version
10.12
$ xcrun --sdk macosx10.12 --show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

只是为了完整,

$ xcrun --sdk macosx10.13 --show-sdk-version
10.11
$ xcrun --sdk macosx10.13 --show-sdk-path
          << blank line here

$ ls -l /Library/Developer/CommandLineTools/SDKs/
total 8
drwxr-xr-x  5 root  wheel  170  4 Jun 16:14 MacOSX.sdk
lrwxr-xr-x  1 root  wheel   10  4 Jun 16:13 MacOSX10.12.sdk -> MacOSX.sdk

(这不是最后一个符号链接错误的方式吗?)
(不,这是 Apple 的意图,从 Mojave 判断)

于 2019-06-04T15:05:19.293 回答
3

怎么样

xcode-select --print-path

手册页说:

打印当前选择的开发者目录的路径。这对于检查很有用,但脚本和其他工具应该使用 xcrun(1) 在活动开发者目录中定位工具。

在只安装了命令行工具的 Mac 上,我得到:

/Library/Developer/CommandLineTools

并且 xcrun --show-sdk-path 给了我和你一样的空白行。

于 2016-10-28T18:31:20.173 回答