如何在 Mac OS X 10.8 / Xcode 4.4 上使用/安装 gcc
Posted
技术标签:
【中文标题】如何在 Mac OS X 10.8 / Xcode 4.4 上使用/安装 gcc【英文标题】:How to use/install gcc on Mac OS X 10.8 / Xcode 4.4 【发布时间】:2012-03-10 08:09:32 【问题描述】:我已经安装了 Mountain Lion (Mac OS X 10.8),现在 gcc 似乎不再可用。我还安装了 Xcode 4.4,因此不再有 /Developer 目录。
我需要 gcc 用于 mac 端口和 ruby gems(具有本机扩展)。
Xcode 4.4 是否包含 gcc 或者是否有安装 gcc 的方法?
【问题讨论】:
类似,最近:Lion — GCC not found, but Xcode is installed — Ask Different 这个线程上的答案都没有说明一个非常重要的观点:他们不是在安装 GCC,而是 Clang/LLVM 伪装成 GCC。这不是一个微不足道的区别,原因我希望我不必解释。 【参考方案1】:更新:
您现在可以从终端运行以下命令:
xcode-select --install
从 Xcode 4.3 开始 - 您现在必须从 Xcode menu > Preferences > Downloads
手动安装命令行工具。
另外,for Mountain Lion (10.8) 和 for Mavericks (10.9) 也有独立安装包。
此软件包通过安装终端支持 UNIX 风格的开发 命令行开发工具,以及 Mac OS X SDK 框架和 标题。 包括许多有用的工具,例如 Apple LLVM 编译器、链接器和 Make。 如果您使用 Xcode,这些工具也是 嵌入在 Xcode IDE 中,并且可以安装在您的系统上 使用 Xcode 4.3 及更高版本中的“下载”首选项窗格。这 软件包需要 Mac OS X 10.7.3 或更高版本。
【讨论】:
当 Steve 说Preferences
时,他指的是当 XCode 窗口处于活动状态时,可以在左上角的 Xcode 菜单中找到 Preferences 对话框。
@marshall - 如果你更新到昨天发布的 Xcode 4.4,你应该很高兴 - 不是吗?似乎对我有用。
@marshall:这是 10.8 包的链接:developer.apple.com/downloads/…。我刚刚提交了对使用正确链接的答案的编辑。
这不是真的安装llvm-gcc而不是gcc吗?
当我要求 gcc 版本时,我得到这个作为回报: $ /usr/bin/gcc -v 配置为:--prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 6.0 (clang-600.0.51) (基于 LLVM 3.5svn) 目标:x86_64-apple-darwin14.0.0 线程模型: posix 那我在用 gcc 吗?【参考方案2】:
我发现从 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
【讨论】:
我的 gcc-4.2 实际上只是在 /usr/local/bin 中,这对我有用:sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2
谢谢,这是 10.7 -> 10.8 迁移助手破坏我的命令行工具的关键。【参考方案3】:
只需将其粘贴到终端:
export PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH
希望对你有帮助!
【讨论】:
如果你不想每次加载一个新的终端窗口时都运行这个,将这一行添加到你的 ~/.bashrc 或 ~/.zshrc 或者只是将它添加到你的 /etc/paths 文件architectryan.com/2012/10/02/…【参考方案4】:1.9.3 之前的 Ruby on Mountain Lion
先决条件
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"
然后将你的新红宝石设置为默认值:
user$ rvm use 1.9.2 --default
然后检查你的 ruby 版本:
user$ ruby -v
【讨论】:
我发现你的帖子非常有用,就像这篇文章一样,关于通过 RVM 安装 Ruby 2.0.0 时的 OpenSSL 依赖性:apple.stackexchange.com/questions/83885/… 说真的,这是我最近遇到的最有帮助的答案之一。工作完美。正是我想要的。希望我能投票更多。谢谢! 这只是真正 gcc 的 brew recipe 的答案,这似乎是问题标题所要求的。谢谢!【参考方案5】:对于可以从 Apple 下载 Xcode 版本但不能下载命令行工具的用户
An accepted answer 到一个类似的问题建议kennethreitz / osx-gcc-installer。在“OSX GCC 安装程序”区域中,两个选项中的第一个是预构建的二进制文件——用于 Snow Leopard 和 Lion,但不适用于 Mountain Lion。考虑到所包含的内容,我应该不建议在任何版本的 10.8 上安装 4.4 版 Xcode之后使用该项目的 GCC-10.7-v2.pkg。
更相关的选项是构建您自己的,参考开发者工具的Apple open source。
GCC 的源代码,与 10.8 兼容
最近发布的Developer Tools 4.3 的 Apple 开源没有 GCC。 4.1 区域中的 GCC 源可能太旧,无法与 10.8 一起使用。
GCC home page 获取最新版本。
Build status for GCC 4.7 链接到 x86_64-apple-darwin10.8.0 的结果……
【讨论】:
【参考方案6】:Apple 为命令行工具 (CLT) 提供了 .mpkg
安装程序,但它们通常不会公开链接。它包括 GCC。您可以在不下载/安装 XCode 的情况下安装它。
Download Command Line Tools w/ GCC here.
【讨论】:
有趣的是,我安装了这个,但在 /usr/bin 中没有看到任何 gcc 版本更改。只是 LLVM 版本。想知道他们现在是否安装到单独的位置? 看来您必须将@roger 指向XCode 目录的链接添加到您的路径中。 @JohnMetta 即使您还没有安装 Xcode,它也会创建一个 Xcode 目录吗? 你知道,我不确定我已经安装了 XCode 的 b/c,这可能是个问题。我的 1.9.x 工作正常,并使用它尝试在 rvm 下安装 1.8.7,但我只是选择了“rvm 使用系统”,所以现在处于“放弃”人群中。 很公平。也许我会尝试并报告。【参考方案7】:您可以使用this Makefile 自行编译。如果您想节省 2-5 小时,我为 Mac OSX Mountain Lion 创建了一个带有 GCC 4.7.2 的签名安装程序包,you can download here。
【讨论】:
【参考方案8】:您可以从此站点下载适用于 Mountain Lion 的最新版 GCC 安装程序(.pkg 文件)。您只需下载并安装它。
https://github.com/kennethreitz/osx-gcc-installer/downloads
【讨论】:
【参考方案9】:我使用的是 OS X 10.9 Mavericks。我只是碰巧输入了 gcc -v。系统立即下载了 gcc。安装完成,完全没有安装 Xcode。测试“你好,世界!”有效。
【讨论】:
以上是关于如何在 Mac OS X 10.8 / Xcode 4.4 上使用/安装 gcc的主要内容,如果未能解决你的问题,请参考以下文章
envsubst:在 Mac OS X 10.8 上找不到命令
Xcode 7 警告 loadNibNamed:owner is deprecated: first deprecated in OS X 10.8