首先检查你是否已经默认安装 Ubuntu gcc 和 binutils ,如果你使用了 64 位的桌面版本,那么默认是已经安装了。下面的部分我们建议你打开一个终端来执行相应的命令。
在此之前建议更新下系统,执行如下命令:
接下来我们需要安装一些所需的软件包:
然后从 GNU 网站上下载最新的 gcc-4.7 源码,请访问 http://gcc.gnu.org/mirrors.html 然后选择 gcc-4.7 的最新稳定版本,文件名是 gcc-4.7.0.tar.bz2. 将它保存到本地。
你还需要另外三个库才能成功编辑 gcc,这三个库分别是:mpc, mpfr 和 gmp. 使用链接进入下载最新版本分别是:gmp-5.0.4.tar.bz2, mpc-0.9.tar.gz 和 mpfr-3.1.0.tar.gz ,并且保存到跟 gcc 4.7 源文件所在的同一个目录。
打开终端进入上述几个文件所在的目录:
我们先开始编译 gmp 库
几分钟后你将有一个已编译好和安装好的 gmp 库,如果一切顺利,恭喜你!
使用相同的步骤来编译 MPFR:
紧接着是 MPC:
到这一步就完成个 gcc 所需包的编译和安装,在某些机器上这三者的编译可能超过一个小时,做好心理准备。
接下来我们可以开始编译 C/C++ 和 Fortran 编译器:
下面命令可将 gcc 4.7 添加到系统路径中,或者直接编辑 .bashrc 文件并在最后添加下面一行:
你不知道什么是 .bashrc 文件?没关系,打开终端执行:
使用下面命令重新加载 .bashrc 文件:
下面是调用编译器的简单方法
如果你的磁盘空间紧张,记得删除源码文件目录下的 *build* 子目录。
接下来我们检查 g++-4.7 是否能编译一些 C++11 规范的代码,打开你喜好的编辑器,复制下面一段代码并保持该文件为 tst_lambda.cpp:
编译并运行上述 lambda 示例将返回 6:
g++-4.7 同时也支持 C++11 线程:
如果你是一个 Fortran 开发者,你可以使用 Fortran 2008 特性,例如 do concurrent
编译并执行上述代码:
至此,你已经完成了在 Ubuntu 12.04 上编译 GCC 4.7 的所有步骤。