如何在Mac OS X 10.8 / Xcode 4.4上使用/安装gcc

297

我已经安装了Mountain Lion (Mac OS X 10.8),现在gcc似乎不再可用。我也安装了Xcode 4.4,所以没有了/Developer目录。

我需要gcc来处理mac端口和ruby gem(具有本地扩展)。

Xcode 4.4是否包括gcc,或者有没有安装gcc的方法?


2
类似的问题,最近出现:Lion - GCC未找到,但已安装Xcode - Ask Different - Graham Perrin
32
这个帖子的回答都没有强调一个非常重要的点:他们并没有安装GCC,而是安装了伪装成GCC的Clang/LLVM。这不是一个微不足道的差别,原因我希望不必解释。 - underscore_d
9个回答

423
更新:

现在您可以直接从终端运行以下命令:

xcode-select --install

从Xcode 4.3开始,您现在必须手动安装命令行工具,方法为Xcode菜单 > 偏好设置 > 下载

manual install image

或者,也有独立的安装包,分别适用于Mountain Lion(10.8)Mavericks(10.9)

此软件包通过安装命令行开发工具和Mac OS X SDK框架以及头文件,使UNIX风格的开发可以通过终端进行。它包含许多实用工具,如Apple LLVM编译器、连接器和Make。如果您使用Xcode,则这些工具也嵌入在Xcode IDE中,并且可以使用Xcode 4.3及更高版本中的下载偏好设置面板在系统上安装。此软件包需要Mac OS X 10.7.3或更高版本。


5
当 Steve 提到“Preferences”时,他是在谈论 XCode 菜单中的“Preferences”对话框,当您激活 XCode 窗口时,可以在左上方找到它。请注意,我已经尽力使翻译通俗易懂并尽可能保持原意,如有不足之处,请多多包涵。 - David Grayson
2
@marshall - 如果你更新到昨天发布的Xcode 4.4版本,应该就没问题了吧?对我来说似乎完全正常。 - Steve
2
@marshall:这是10.8软件包的链接:https://developer.apple.com/downloads/index.action?=Command%20Line%20Tools%20%28OS%20X%20Mountain%20Lion%29。我刚刚提交了一个编辑答案,使用了正确的链接。 - chrisk
4
这实际上安装的是 llvm-gcc 而不是 gcc 吗? - Tyler Pfaff
2
这将安装伪装成GCC的clang而不是GCC。 - underscore_d
显示剩余9条评论

43

我发现在从Lion升级后,我的安装失败了,因为它在寻找位于 /usr/bin/gcc-4.2 的 GCC。现在默认的安装路径是 /usr/bin/gcc。

我的错误信息看起来像这样:

make: /usr/bin/gcc-4.2: No such file or directory

符号链接可以解决这个问题:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

2
我的gcc-4.2实际上在/usr/local/bin中,这对我有用:sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2 - courtsimas
2
谢谢,这是解决我命令行工具在10.7 -> 10.8迁移助手中出现问题的关键。 - slycrel

26

只需将以下内容粘贴到终端:

export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH
我希望这有所帮助!

2
如果您不想在每次打开新终端窗口时都运行此命令,可以将此行添加到您的/.bashrc或/.zshrc文件中。 - Jered Odegard
将以下内容添加到您的 /etc/paths 文件中:http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UtU4uGRDs29 - Phill Pafford

21

在Mountain Lion上使用1.9.3之前的Ruby版本

先决条件

Xcode 4.4, 
Xcode Command Line Tools
Homebrew
XQuartz 2.7.2 or later.
rbenv/ruby-build or RVM.

安装GCC

注意,Xcode命令行工具不包含GCC,而是包括LLVM-GCC。虽然有点差异,但基本相同。

$ brew tap homebrew/dupes
$ brew install apple-gcc42
请将以下内容添加到您的~/.profile文件或相应配置文件中:
export CC=/usr/local/bin/gcc-4.2

在尝试下面的安装命令之前,请重新加载您的shell。

安装RVM

CFLAGS="-I/opt/X11/include" rvm reinstall ree

安装 Ruby

Prefix the install command with CFLAGS="-I/opt/X11/include"

然后将您的新 Ruby 设置为默认值:

user$ rvm use 1.9.2 --default

然后检查你的Ruby版本:

user$ ruby -v

我发现你的帖子非常有用,就像这个关于通过RVM安装Ruby 2.0.0时OpenSSL依赖性的帖子一样:http://apple.stackexchange.com/questions/83885/ruby-2-0-0-install-via-rvm-errors-surrounding-openssl - idonnie
真的,这是我最近遇到的最有帮助的答案之一。完美地解决了问题。正是我在寻找的东西。希望我能给更多赞。谢谢! - Bharadwaj Srigiriraju
这只是真正的gcc酿造配方的答案,这似乎是问题标题所要求的。谢谢! - Gabe Kopley

13

对于能从Apple下载Xcode构建但无法下载命令行工具的用户

对于类似问题的一个被接受回答建议使用kennethreitz / osx-gcc-installer。在‘OSX GCC Installer’这个区域中,有两个选项,第一个是预构建二进制文件 - 针对Snow Leopard和Lion,但不适用于Mountain Lion。考虑到其中包含的内容,我不建议在任何10.8的版本上安装完4.4版本的Xcode后使用该项目的GCC-10.7-v2.pkg

更相关的选项是自己构建,参考 Apple开源 的Developer Tools。

GCC的来源,与10.8的兼容性

Apple开源的最新发布的开发者工具4.3没有GCC。4.1版本区域中的GCC源代码可能过于陈旧,无法在10.8上使用。 GCC首页提供最新版本发布信息。 GCC 4.7构建状态链接到x86_64-apple-darwin10.8.0的结果...

6

有趣的是,我已经安装了它,但在/usr/bin中没有看到任何gcc版本的变化。只有LLVM版本。不知道他们现在是否安装到一个单独的位置? - JohnMetta
看起来你需要将@roger的链接添加到XCode目录中,以便将其加入到你的路径中。 - JohnMetta
强烈建议不要发布直接指向可下载文件的链接。用户几乎总是需要您跳过的上下文。在这种情况下,您已经链接到了一个特定的构建版本,当您发布它时它是最新的,但现在已经过时了。 - Isaac Rabinovitch
@IsaacRabinovitch StackOverflow充斥着过时/陈旧的信息。我们作为读者需要准备好认识到,近一年的答案可能存在过时的信息。这是我的两分钱。 - briangonzalez
@briangonzalez 当然,所有的信息最终都会过时。但这并不意味着我们不应该尽力以更长的保质期提供信息。为了其他用户的公平,您应该花时间找到一个链接,它在未来几年仍然有用,而不是保证在6个月内无用。当您直接链接软件包文件并跳过描述页面时,这一点尤其重要。 - Isaac Rabinovitch
显示剩余3条评论

3
你可以使用这个Makefile自己编译它。如果你想节省2-5小时的时间,我创建了一个带有GCC 4.7.2的签名安装程序包,适用于Mac OSX Mountain Lion,你可以在这里下载

1

1

我正在使用OS X 10.9 Mavericks。我只是偶然输入了gcc -v。系统立即下载了gcc。安装完成后,没有安装Xcode。测试"Hello, world!"可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接