MacOS Lion编译安装GCC-4.6.2

Mac中的开发工具链都是围绕xcode展开的,但是对于只想使用gcc,g++编译c/c++代码的情况,装一个动辄3,4G的开发工具实在是不符合KISS原则。更新:4.3版本的xcode已经将图形开发界面和命令行工具分开了发布了。还有即使装了xcode,默认带的gcc编译器都是lvmm做前端的,并非纯正的gnu gcc。如果你想用纯正的gcc,最好的办法就是自己手动编译一个。

本文中的安装步骤来源于:http://solarianprogrammer.com/2011/12/01/compiling-gcc-4-6-2-on-mac-osx-lion/,可以直接看英文原版。

首先下载必要的源代码:

编译前看下当前已安装的gcc版本:

sagi@MacBookPro:~$ gcc --verion  
i686-apple-darwin11-llvm-gcc-4.2: no input files  

新建个文件夹,用来放之后编译好的gcc:

mkdir $HOME/Library/gcc-4.6.2  

先从GMP库开始:

./configure --prefix=$HOME/Library/gcc-4.6.2
make  
make install  

这一步make完建议“make check”一下,看看编译是否正确。

然后是MPFR:

tar zxvf mpfr-3.1.0.tar.gz  
cd mpfr-3.1.0  
./configure --prefix=$HOME/Library/gcc-4.6.2 --with-gmp=$HOME/Library/gcc-4.6.2
make  
make install  

接着是MPC:

tar zxvf mpc-0.9.tar.gz  
cd mpc-0.9  
./configure --prefix=$HOME/Library/gcc-4.6.2 --with-gmp=$HOME/Library/gcc-4.6.2 --with-mpfr=$HOME/Library/gcc-4.6.2
make  
make install  

最后才开始编译gcc本身:

tar jxvf gcc-4.6.2.tar.bz2  
cd gcc-4.6.2  
./configure --prefix=$HOME/Library/gcc-4.6.2 --with-gmp=$HOME/Library/gcc-4.6.2 --with-mpfr=$HOME/Library/gcc-4.6.2 --enable-checking=release --with-mpc=$HOME/Library/gcc-4.6.2 --program-suffix=4.6.2 --enable-languages=c,c++

注意–program-suffix参数,表示生成的可执行文件的后缀。–enable-languages参数表示要支持的语言。最后make; make install即可。make的时候还有个小技巧:因为gcc文件很多,编译很慢,可以使用make -j N参数,开启多线程编辑。其中N值可以设定为机器CPU核数x2。

编译好了之后就可以使用$HOME/Library/gcc-4.6.2/bin/gcc-4.6.2来编译c程序了。为了使用方便,可以将$HOME/Library/gcc-4.6.2/bin放到系统PATH中:

export PATH=$HOME/Library/gcc-4.6.2/bin:$PATH
BTW:有人编译高版本的GCC/G++是为了在Mac中编译C++11(C++0x)的代码。其实目前在Mac平台上对C++11标准支持最好的是Clang++编译器。

comments powered by Disqus