27

I am using Xcode to build an old code and specify SDKROOT=/Developer/SDKs/MacOSX"${HOST_VERSION}".sdk/

I want to specify SDKROOT for latest SDK that comes pre-installed (?) on the system. e.g. I am on 10.8 already and I want to specify SDKROOT with -syslibroot, but there is no such SDK in /Developer/SDKs/. Should i just ignore syslibroot altogether if SDK_VERSION == HOST_VERSION?

JamesWebbTelescopeAlien
  • 3,547
  • 2
  • 30
  • 51

4 Answers4

43

Newer Xcode versions have the SDKs inside the Xcode.app bundle, e.g.

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk

You get the list of installed SDKs together with their path by running

xcodebuild -sdk -version

from the command line.

If you have installed the "Command Line Tools" (Xcode Preferences -> Downloads -> Components) then compiling without "-syslibroot" should be equivalent to compiling against the latest SDK.

See the help to the "Command Line Tools" package:

Downloading this package will install copies of the core command line tools and system headers into system folders, including the LLVM compiler, linker, and build tools.

Martin R
  • 529,903
  • 94
  • 1,240
  • 1,382
14

As stated in another stackoverflow question:

xcrun --sdk macosx --show-sdk-path
Sriram Murali
  • 5,804
  • 2
  • 26
  • 32
6

With xcodebuild -version -sdk macosx10.7 Path you can get the Path to the OS X 10.7 SDK. You may replace 10.7 by ${SDK_VERSION} or ${HOST_VERSION} depending on your needs. I know of no command to obtain the version of OS X, which could be used to obtain the Path to the SDK matching the version of OS X currently running.

Note: for xcodebuild to work, the user must have configured xcode-select properly, for example xcode-select -switch /Application/Xcode.app.

Sven
  • 1,364
  • 2
  • 17
  • 19
0

CommandLineTools was outdated, reinstalling Command Line Tools fixed the issue:

xcode-select --install
validcat
  • 6,158
  • 2
  • 29
  • 38
Fayaj
  • 21
  • I don't particularly understand why this was downvoted. More often than not `xcode-select --install` proves to be the correct answer. – Fohlen Nov 21 '20 at 20:55