Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 最新SDK的SDKROOT路径_Xcode_Macos_Xcode4.5_Ld - Fatal编程技术网

Xcode 最新SDK的SDKROOT路径

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,例

我正在使用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,例如

/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