Xcode 命令行工具和制作

Posted

技术标签:

【中文标题】Xcode 命令行工具和制作【英文标题】:Xcode Command-Line Tools & Make 【发布时间】:2013-11-03 20:06:58 【问题描述】:

我已经在 OS X Mavericks 上安装了 Xcode 5。我的命令行工具有问题(cc et al)。

/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 的(过时的)副本。

ccxcrun cc 之间有什么区别,我可以做些什么来使cc 在终端(或自动构建工具)中正常工作?

【问题讨论】:

【参考方案1】:

在 OS X 10.9 Mavericks 上,运行 xcode-select --install 以更新已安装的命令行工具,使其与 Xcode 内部的版本匹配。这还会将头文件安装到/usr/include/System/Library 并安装其他开发库。这与以前版本的 OS X 不同,在以前版本中,命令行工具要么通过 Xcode.app 本身安装,要么通过 Xcode 安装程序安装。仍然可以从 Apple Developer 网站下载独立安装程序,但在 10.9 上通常不再需要。

【讨论】:

【参考方案2】:

我对cc没有问题(虽然如果你使用clang而不是cc会得到更好的结果。我建议你删除该程序,重新下载它,并使用xcode-select --install安装命令行工具

【讨论】:

cc 调用它与以clang 调用它的行为是否不同? 使用 Xcode 5,我不知道。但其他人可能对此了解更多。

以上是关于Xcode 命令行工具和制作的主要内容,如果未能解决你的问题,请参考以下文章

从 xcode 创建一个“命令行工具”项目,然后设置并运行 NSApplication。此应用程序中的光标无法更改

用于开源编译/构建的 Apple 命令行工具和 XCode?

如何安装Xcode命令行工具

Xcode命令行作用

如何安装 Xcode 命令行工具

使用下载的 pkg 文件时,xcode 命令行工具安装在哪里?