Ubuntu下gcc的版本编译

Ubuntu GCC 4.9.2 安装教程
本文详细介绍了如何在Ubuntu系统中安装指定版本的GCC 4.9.2,包括下载源码、配置环境、编译安装等步骤,并提供了多线程编译的方法以及解决版本切换时遇到的库文件问题。

Ubuntu已经内置了gcc的安装。但在很多时候,由于需要特定版本的gcc,那么需要自己安装。

但是在安装gcc4.9的时候,自动安装了最新的版本,而我想要用4.9.2版本来进行编译和验证,却无法安装上,只好自己进行源码的编译。

1、下载

从这里http://ftp.gnu.org/gnu 可以下载最新的gcc版本,还需要同时下载gmp/mpc/mpfr,注意一定要是对应的版本,保险起见,选择gcc编译式提示的最低版本即可,版本太高有可能引起其它的问题。

使用gcc源码目录下的./contrib/download_prerequisites进行下载,可保证版本的一致性,推荐使用。

2、编译

采用下面的步骤进行编译:

tar -vxf  gcc-4.9.3.tar.bz2
cd gcc-4.9.3
./contrib/download_prerequisites
#脚本自己主动下载依赖包 gmp, mpfr,mpc。 
#也能够手动下载然后移到/gcc-4.9.0文件夹以下自己主动一起安装,或者自行先编译安装
./configure
sudo make install

编译完了后,使用gcc -v检查一下安装的版本。

2.1 在独立的目录中编译

运行configure命令,产生makefile。

先创建build文件夹,编译到此文件夹下:

mkdir build
cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

2.2 多线程编译

gcc的编译时间比较长,在多核机器可以启用多线程。虚拟机中,建议预先增加CPU的数量与线程数一致。

make -j4

4表示线程数,时间比較长,用多个线程更快

3、安装

sudo make install

如果以前编译过,部分链接库缓存可能版本较老。为了清除以前的遗留文件,可以先运行make clean。


4、使用

如果需要在多个gcc版本间切换,参考:http://my.oschina.net/u/2306127/blog/538139

但是,这种方法只能切换gcc编译器,所涉及到的引用库如libgomp等不会切换,导致出现undefined symbol之类的错误。

在Ubuntu14.04,缺省编译的gcc位于/usr/local/lib64目录下,通过设定载入库的目录即可解决这个问题:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

如果放在启动的sh脚本中,该设置只在当前运行环境下有效,从而可以避免其他程序之间的相互干扰。




转载于:https://my.oschina.net/u/2306127/blog/539474

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值