我在OS X Mavericks上安装了Xcode 5。我的命令行工具有问题(cc等)。
/usr/bin
中的cc版本已过时,所以我没有使用它。嵌入在Xcode应用程序包中的cc版本是最新的,所以我将以下代码粘贴到我的shell配置文件中:
export PATH=`xcode-select -print-path`/usr/bin:`xcode-select -print-path`/Toolchains/XcodeDefault.xctoolchain/usr/bin:${PATH}
这在Mountain Lion的Xcode 4下有效。但是,现在,当编译器似乎在调用cc
时运行正常时,当我以这种方式调用它时,它将不会编译任何东西;它显然找不到系统标题(例如stdio.h
)。当我将编译器调用为xcrun cc
时,一切正常。不幸的是,这需要我修补每个构建自动化程序(例如make
)的输入,然后才能正常运行。
另一个问题是我无法找到从ADC下载的命令行工具。当我从Mountain Lion升级时,调用/usr/bin/cc
并不会问我是否要下载这些工具;它只是从Xcode 4运行cc
的(过时的)副本。
cc
和xcrun cc
之间有什么区别,我能做些什么会导致cc
从终端(或自动构建工具)正常工作?
答案 0 :(得分:1)
在OS X 10.9 Mavericks上,运行xcode-select --install
更新已安装的命令行工具,使其与Xcode内部的版本匹配。这也会将头文件安装到/usr/include
和/System/Library
中,并安装其他开发库。这是对以前版本的OS X的更改,其中命令行工具通过Xcode.app本身或Xcode安装程序安装。仍然可以从Apple Developer站点下载独立安装程序,但通常在10.9上不再需要。
答案 1 :(得分:0)
我对cc没有任何问题(如果您使用clang
而不是cc
会获得更好的结果。我建议您删除该程序,再次下载并安装命令行工具与xcode-select --install