How to get the path to the current MacOSX SDK when only Command Line Tools are installed?

断了今生、忘了曾经 提交于 2021-02-07 08:27:56

问题


We are trying to locate the current platform SDK used by some of our OSX machines (10.11). On those machines, only the Command Line Tools are installed, not the full blown Xcode app.

Looking up on SO, we were able to find the command xcrun --show-sdk-path, which prints out an empty line.

On the other hand, xcrun --show-sdk-version correctly shows 10.11.

Is there a way to locate the path to the SDK used by our compilation tasks ?


回答1:


How about

xcode-select --print-path

The man page says:

Prints the path to the currently selected developer directory. This is useful for inspection, but scripts and other tools should use xcrun(1) to locate tool inside the active developer directory.

On a Mac with only the command line tools installed I get:

/Library/Developer/CommandLineTools

and xcrun --show-sdk-path gives me the same blank line as you get.




回答2:


This is very late, but I've only just started grappling with this.

Running on El Capitan, 10.11.6.

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

but

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

Just for completeness,

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

and

$ 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

(isn't that last symlink the wrong way round?)
(no, it’s the way Apple intended, judging by Mojave)



来源:https://stackoverflow.com/questions/39772978/how-to-get-the-path-to-the-current-macosx-sdk-when-only-command-line-tools-are-i

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!