Answers:
在尝试编译Ruby 1.8.7(我的和其他人)的背景下,最近有一些关于如何执行此操作的博客文章。简短的答案:
安装命令行工具(在Xcode中:“首选项”>“下载”>“组件”;或者,如果没有/想要安装Xcode,则可以转到Apple并分别下载它们)-这将安装gcc
命令,但实际上是“安装Homebrew”(说明) ,OS X的软件包管理器
然后,安装“ dupes”自制软件存储库,并从中安装真正的GCC 4.2编译器:
brew update
brew tap homebrew/homebrew-dupes
brew install apple-gcc42
/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版本。
我不将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++
这将在系统范围内进行更改,因此在执行此操作之前请确保这是您想要的。
为了使这些命令起作用,您还需要安装Xcode命令行工具(如果尚未安装)。可以通过Xcode的下载首选项窗格安装工具。
mv cc cc.orig && mv gcc gcc.orig
或类似的事情。