我们正在尝试定位我们的一些 OSX 机器 (10.11) 使用的当前平台 SDK。在这些机器上,只安装了命令行工具,而不是完整的 Xcode 应用程序。
查找 SO,我们能够找到命令xcrun --show-sdk-path
,它打印出一个空行。
另一方面,xcrun --show-sdk-version
正确显示10.11
.
有没有办法找到我们编译任务使用的 SDK 的路径?
我们正在尝试定位我们的一些 OSX 机器 (10.11) 使用的当前平台 SDK。在这些机器上,只安装了命令行工具,而不是完整的 Xcode 应用程序。
查找 SO,我们能够找到命令xcrun --show-sdk-path
,它打印出一个空行。
另一方面,xcrun --show-sdk-version
正确显示10.11
.
有没有办法找到我们编译任务使用的 SDK 的路径?
这已经很晚了,但我才刚刚开始努力解决这个问题。
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 判断)
怎么样
xcode-select --print-path
手册页说:
打印当前选择的开发者目录的路径。这对于检查很有用,但脚本和其他工具应该使用 xcrun(1) 在活动开发者目录中定位工具。
在只安装了命令行工具的 Mac 上,我得到:
/Library/Developer/CommandLineTools
并且 xcrun --show-sdk-path 给了我和你一样的空白行。