【问题标题】:How to get the path to the current MacOSX SDK when only Command Line Tools are installed?仅安装命令行工具时如何获取当前 MacOSX SDK 的路径?
【发布时间】:2017-02-07 22:29:56
【问题描述】:

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

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

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

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

【问题讨论】:

  • 请注意版本;这似乎特定于 XCode (5.0) 的版本,即 MacOS 版本 10.9+

标签: macos sdk osx-elcapitan xcode-command-line-tools


【解决方案1】:

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

在 El Capitan 上运行,10.11.6。

$ 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 判断)

【讨论】:

  • Fwiw,xcrun --show-sdk-version 在我的 10.10 -> 10.11❓ xcrun --show-sdk-path -> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOS (Xcode 7.2.1)。如何列出 .dylib 使用的 SDK,检查一致性?
【解决方案2】:

怎么样

xcode-select --print-path

手册页说:

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

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

/Library/Developer/CommandLineTools

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 2019-06-20
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多