在不安装Xcode的情况下,是否有方法在OSX上安装gcc?

45

我已经通过Google进行了大量搜索,似乎没有办法在OS X上安装gcc而不安装Xcode(要占用至少1.5GB的空间)。 我只需要gcc而不需要Xcode中的其他垃圾。 而且在这一点上,我会接受任何其他类型的C编译器。

我知道我可以简单地安装Xcode,但这并不重要,因为我既没有原始安装碟片也没有快速的互联网连接。

那么...有人有什么建议吗?

编辑:如果我表达不清楚,我还需要头文件。 我目前正在通过fink安装gcc4,并正在下载共享库。 我将更新进度。

编辑2:好的,所以我成功地使用fink安装了gcc。 但是,它几乎是无用的:“错误:C编译器无法创建可执行文件”。 经过搜索,我发现没有安装Apple的开发人员工具是错误的原因。 可能是因为我需要所有库,头文件等,这些只在Xcode中才有。


你需要一个完整的环境,包括头文件等,还是只需要一个C编译器? - freespace
1
我仍然想知道你是否设法完成了它。不过这不是针对gcc的,我正在尝试安装另一个Xcode工具:FileMerger - http://superuser.com/questions/117621/how-to-merge-and-not-replace-folders-when-copying-on-mac - cregox
1
您可以在此链接下载GCC:http://opensource.apple.com/release/developer-tools-40/ - fooMonster
现在有这个选项。http://kennethreitz.com/xcode-gcc-and-homebrew.html Xcode的命令行支持。 - Amir Raminfar
10个回答

36

苹果公司获得Xcode命令行工具,这是苹果官方支持的只创建命令行工具的方式。


4
这绝对看起来是现在最相关的答案——谢谢。 - lashleigh
这太棒了,完美地回答了问题!谢谢。 - wap26
1
只适用于OS 10.7.3及以上版本。如果您的安装版本较旧,您将需要使用osx-gcc-installer(或其他)解决方案。 - Peter Gluck
答案是正确的,但如果您曾经安装过Xcode并删除了它以节省一些宝贵的空间,您可能需要使用以下命令和命令行工具安装来重置设置:sudo xcode-select -r - Romulo Diniz

31

2
那个项目(osx-gcc-installer)对我非常有用,也足以用于使用Homebrew构建。他的FAQ没有明确说明两件事:如果它不适用于您,您可以安全地在osx-gcc-installer上安装Xcode;如果您已经安装了Xcode,则可以在安装osx-gcc-installer之前/之后将其删除。 - oasisbob
4
这个项目存在严重的缺陷,几乎肯定会被撤销。 - Adam Lassek
1
我非常建议使用Adam Lassek创建的项目,这是作者提供的链接。为了后人着想,这里是直接链接:http://git.io/xcode - ELLIOTTCABLE

5
我已经做了很长时间了,也做过这样的事情,但我得出结论是根本不值得这么做。 :-(
原因是没有人指望你去做这些事情,所以整个系统都默认“一切”都在那里。你今天可能不会遇到这个问题 - 或者更糟的是,你甚至后来都没有意识到这是你问题的原因。
与其浪费你聪明的时间在这样的事情上,它实际上并不能产生任何可用的工作代码,不如按照批准的方法运行下载程序过夜,然后把时间花在规划和编写顶层代码上(对此,你根本不需要编译器!)

3
我相当确定这是不可能的。但是,我也不确定您是否需要整个开发人员套件才能安装开发人员工具。随着XCode一起安装的许多工具可能是可选的。但是,我认为您需要咬紧牙关并使用wget、DownThemAll或其他下载管理器,这些管理器可以让您分段慢慢地下载开发人员工具。
每当我安装OS X时,我通常会安装开发人员工具,因为这大大开启了可用软件的世界。也许您将来也应该考虑这样做。

2
你想尝试的第一件事是叫做Pacifist - Pacifist允许你打开一个大型软件包(比如XCode)并直接访问其中的部分。我相信你能够在XCode软件包中找到一个更小的软件包,里面只有gcc。 然而,我不确定这是否是最好的方法。如果你计划进行Cocoa或Carbon开发,我强烈建议安装整个软件包,因为你需要所有的文档和头文件。如果你只打算做命令行操作,你可能还需要在XCode中查找所有你需要的软件包 - 例如库、头文件、手册等等。
总的来说,你可能最好还是安装整个软件包 - 如果硬盘空间非常紧张(比如你使用的是一个旧的小型iMac),那么可以看看像Monolingual这样的工具 - Monolingual可以从各种OS X应用程序中删除所有国际支持,这很容易将一个应用程序的大小减少50%。

1
我也认为您是正确的,先生。顺便说一句,感谢您推荐Monolingual。 - aryo

1

如果你想要一个简单的安装程序/更新程序,可以使用Fink和MacPorts。


不要使用需要Xcode的MacPorts,因为它会编译每个软件包。请参阅http://www.macports.org/install.php。 - freespace
1
不,fink可以限制为仅使用二进制文件,因此除非您想要使用二进制软件包之外的功能,否则它不需要工作编译器。至于gcc是否可用作二进制软件包,我不知道。 - freespace
1
http://pdb.finkproject.org/pdb/package.php/gcc42 - 看起来OS X 10.5有一个二进制版本可用。 - Daniel James
2
为什么这个有3个点?不想太过苛刻地说,答案是相当错误的。Macports和Fink都将XCode列为安装的先决条件:http://www.macports.org/install.php http://www.finkproject.org/doc/bundled/install-first.php - Mike Heinz
1
是的,文档上是这么说的,但从我的经验来看,即使没有编译器,Fink也可以工作。正如下载页面上所说:“您可能会发现仅使用二进制软件包会限制 Fink 的效用…… 要从源代码构建软件包,您需要安装开发人员工具……” - freespace
这与Homebrew“可以在没有编译器的情况下工作”相同...实际上,这是一件非常麻烦的事。 - Dalibor Filus


0

从Xcode的磁盘映像的Packages目录安装GCC包,你就会拥有GCC。请注意,当然你不会拥有autotools或其他标准构建工具,你需要从该文件夹安装更多的软件包。


0

我在谷歌搜索中发现了this,它似乎可以在不使用XCode的情况下安装。


1
你需要在那篇文章中再读一点 - 那是一篇关于如何在苹果公司2002年提供的GCC之上编译和安装更新版本GCC的文章,它不允许在没有XCode的情况下安装编译器。 - Mike Heinz
+1 是因为它帮助了我,我正在谷歌搜索“在OSX上安装gcc”,然后找到了这个。我想要获取gcc 4.6或4.7,以便我可以在OSX上使用c++11功能。 - matiu

0

是的,我可以用端口做到这一点,但您至少需要接受代码许可证。


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