Xcode 最新SDK的SDKROOT路径
我正在使用Xcode构建一个旧代码,并指定Xcode 最新SDK的SDKROOT路径,xcode,macos,xcode4.5,ld,Xcode,Macos,Xcode4.5,Ld,我正在使用Xcode构建一个旧代码,并指定SDKROOT=/Developer/SDKs/MacOSX“${HOST\u VERSION}”.sdk/ 我想为系统上预装的最新SDK(?)指定SDKROOT。e、 g.我已经在10.8上了,我想用-syslibroot指定SDKROOT,但是/Developer/SDKs/中没有这样的SDK。如果SDK\u VERSION==HOST\u VERSION,我应该完全忽略syslibroot吗?较新的Xcode版本在Xcode.app包中有SDK,例
SDKROOT=/Developer/SDKs/MacOSX“${HOST\u VERSION}”.sdk/
我想为系统上预装的最新SDK(?)指定SDKROOT。e、 g.我已经在
10.8
上了,我想用-syslibroot指定SDKROOT
,但是/Developer/SDKs/
中没有这样的SDK。如果SDK\u VERSION==HOST\u VERSION
,我应该完全忽略syslibroot吗?较新的Xcode版本在Xcode.app包中有SDK,例如
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
您可以通过运行获取已安装SDK的列表及其路径
xcodebuild -sdk -version
从命令行
如果您已经安装了“命令行工具”(Xcode首选项->下载->组件),那么不使用“-syslibroot”进行编译应该相当于根据最新的SDK进行编译
请参阅“命令行工具”包的帮助:
下载此软件包将安装核心命令行的副本
将工具和系统标题放入系统文件夹中,包括LLVM
编译器、链接器和构建工具
使用
xcodebuild-version-sdk macosx10.7路径
可以获得OS X 10.7 sdk的路径。
根据您的需要,您可以将10.7替换为${SDK\u VERSION}
或${HOST\u VERSION}
。
据我所知,没有命令可以获取OS X的版本,该命令可用于获取与当前运行的OS X版本匹配的SDK的路径
注意:要使xcodebuild
正常工作,用户必须正确配置xcode select
,例如xcode select-switch/Application/xcode.app
,如另一个:
CommandLineTools已过时,重新安装命令行工具修复了该问题:
xcode-select --install
我不太明白为什么这被否决了。通常情况下,
xcode选择--install
证明是正确答案。
xcode-select --install