使用 Xcode 4.3.1 的 OS X Lion 上的 GCC

Sim*_*nBS 14 xcode gcc osx-lion

在 OS X Lion 上安装 Xcode 4.3.1 后,我丢失了 GCC 编译器。我的学习需要这个。有谁知道我将如何安装它?我所能找到的只是有人建议安装 Xcode 4.3.1,但使用最新的 Xcode 版本,Apple 已将 GCC 编译器移至 Xcode.app 中,它似乎与 GCC 编译器的版本不同与以前版本的 Xcode 捆绑在一起的那个。

小智 24

打开 XCode 转到下载下的首选项安装命令行工具

  • 这绝对是最简单的方法。谢谢。 (2认同)

小智 15

在尝试编译 Ruby 1.8.7(我的其他人的)的上下文中,最近有几篇关于如何执行此操作的博客文章。简短的回答:

安装命令行工具(在 Xcode 中:首选项 > 下载 > 组件;或者如果您没有/想要安装 Xcode,您可以去Apple并单独下载它们) - 这会安装一个gcc命令,但它实际上是 clang 安装 Homebrew(说明) , OS X 的包管理器

然后,安装“dupes”自制软件存储库,并从中安装真正的 GCC 4.2 编译器:

brew update
brew tap homebrew/homebrew-dupes
brew install apple-gcc42
Run Code Online (Sandbox Code Playgroud)

/usr/bin/gcc仍将是i686-apple-darwin11-llvm-gcc-4.2,但/usr/local/bin/gcc-4.2将是i686-apple-darwin11-gcc-4.2.1(以及相关工具g++-4.2等,也在 中/usr/local/bin

然后,您可以使用构建过程使用的任何机制(例如,适当设置 CC 和 CXX 环境变量)来选择这些编译器而不是 clang 版本。


Lan*_*rix 5

我不将 Xcode 4.3 用于实际的 Xcode 项目,仅用于命令行源代码编译,并且遇到了同样的问题。您可以从终端使用以下命令恢复 gcc 和 cc 命令:

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.2 cc
ln -s gcc-4.2 gcc
ln -s c++-4.2 c++
ln -s g++-4.2 g++
Run Code Online (Sandbox Code Playgroud)

将进行系统范围的更改,因此在执行此操作之前请确保这是您想要的。

要使这些命令起作用,您还需要安装 Xcode 的命令行工具(如果您尚未安装它们)。可以通过 Xcode 的下载首选项窗格安装工具。

  • 一个建议:不要删除旧的二进制文件(脚本的第 2 行),也许只是将它们放在 /usr/bin 下的存档目录中)。这样,如果您需要它们,您仍然可以通过绝对路径调用它们。 (2认同)