在 Mac OS X Lion 电脑中编译 gcc 4.6.1

在这篇文章中我们将讲述如何在 Mac OS X Line 计算机上通过源码方式安装最新的 GCC 稳定版本 4.6.1,而 Lion 上默认安装的 gcc 是 4.2.1.

为恶劣编译 gcc 源码,你需要安装 gcc (哦,好纠结)假设你的电脑上已经装有最新的 Xcode,这对 OSX Lion 用户可以免费安装的。

首先我们从 GNU 网站上下载最新的 GCC 源码,地址是:ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.1/  然后选择 gcc-4.6.1.tar.gz 文件并下载,该文件大约有 89.1 兆大小。

要编译 gcc 你还需要其他三个库:mpc, mpfr and gmp 这三个库都可以从ftp://gcc.gnu.org/pub/gcc/infrastructure/ 这里下载到。选择最新的版本:gmp-4.3.2.tar.bz2, mpc-0.8.1.tar.gz 以及 mpfr-2.4.2.tar.bz2。

打开终端命令行窗口,执行 gcc 命令将会调用 LLVM 编译器而不是 GNU 的编译器,下面命令用来检查 gcc 的版本:

1 gcc --V
2 i686-apple-darwin11-llvm-gcc-4.2: no input files

使用 llvm-gcc 编译 gcc 4.6.1 不会成功的,因此我们需要临时修改默认的编译器到 GNU 的版本,输入下面命令:

1 export CXX=/usr/bin/g++-4.2
2 export CC=/usr/bin/gcc-4.2
3 export CPP=/usr/bin/cpp-4.2
4 export LD=/usr/bin/ld

我们将开是编译 gmp 库,双击 gmp-4.3.2.tar.bz2 将该文件解压到 gmp 目录,进入该目录:

1 cd Downloads
2 cd gmp*

创建一个新的子目录名为 build,用来保存编译后的库:

1 mkdir build
2 cd build

接下来是最有趣的部分,在终端中执行:

1 ../configure --prefix=$HOME/my_gcc

该命令将准备安装包到 User_Name/my_gcc 目录,你可以修改 my_gcc 的名字。

如果该步骤没有任何错误,那么我们就可以编译 gmp 库了:

1 make

几分钟过后,你将会得到一个编译后的 gmp 库,我们可以用下面的命令来检查编译是否成功:

1 make check

如果你在编译过程中没发现任何错误信息,恭喜你,我们已经可以开始安装这个库到 my_gcc 目录了:

1 make install

同样的步骤我们还需要安装 MPFR 库,双击解压:

01 cd ..
02 cd ..
03 cd mpfr*
04 mkdir build
05 cd build
06  
07 ../configure --prefix=$HOME/my_gcc --with-gmp=$HOME/my_gcc
08  
09 make
10 make install

然后是 MPR 库,同样要解压:

1 cd ..
2 cd ..
3 cd mpc*
4 mkdir build
5 cd build
6 ../configure --prefix=$HOME/my_gcc --with-gmp=$HOME/my_gcc --with-mpfr=$HOME/my_gcc
7 make
8 make install

终于我们可以开始编译 gcc 了,双击 gcc-4.6.1.tar.gz 解压:

1 cd ..
2 cd ..
3 cd gcc*
4 mkdir build
5 cd build
6 ../configure --prefix=$HOME/my_gcc --enable-checking=release --with-gmp=$HOME/my_gcc --with-mpfr=$HOME/my_gcc --with-mpc=$HOME/my_gcc --program-prefix=my-

上面的命令将配置我们已安装的 gmp、mpfr 和 mpc 库到应用中,并添加一个前缀给所有生成的可执行程序,例如我们可以通过 my-gcc 来调用 gcc 4.6.1,而默认的 gcc 命令将还是调用系统中的 gcc 4.2.1。如果你希望使用的是 gcc-4.6.1 这样的命令而不是 my-gcc ,那么上面的命令可以改写为:

1 ../configure --prefix=$HOME/my_gcc --enable-checking=release --with-gmp=$HOME/my_gcc --with-mpfr=$HOME/my_gcc --with-mpc=$HOME/my_gcc --program-suffix=-4.6.1

如果你只对某些语言感兴趣,你也可以指定参数,例如你只想要 C/C++ 和 Fortran 语言,那么可以这样:

1 --enable-languages=c,c++,fortran

接下来开始编译:

1 make

编译会比较慢,如果你的机器装有多核处理器,那么你可以使用并行编译模式,例如拥有4核处理器的机器可以使用下面的命令进行编译:

1 make -j 4

喝杯咖啡、看本书,要是我的话会抽包烟,然后编译就会结束,接下来就是安装这个编译工具了(my_gcc):

1 make install

现在,你可以让你新安装的 gcc 编译器与系统原有的编译器独立开来,当你需要使用新的编译器时,只需要在终端修改临时路径即可:

1 export PATH=$HOME/my_gcc/bin:$PATH

一切就绪,我们可以使用新编译器了,编写一个测试程序 test.cpp :

01 //Program to test the new C++11 lambda syntax
02 #include <iostream>
03   
04 using namespace std;
05   
06 int main()
07 {
08     cout<<[](int m,int n){return m+n;}(2,4)<<endl;
09     return(0);
10 }

编译并执行:

1 my-g++ -std=c++0x test.cpp -o test
2 ./test
3 6

好吧,到此结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值