Centos升级gcc版本

  1. 下载源码包
1
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2

  
解压

1
tar -jxvf gcc-4.8.0.tar.bz2
  1. 下载编译所需依赖库
1
2
3
cd gcc-4.8.0 
./contrib/download_prerequisites 
cd ..
  1. 建立编译输出目录
1
mkdir gcc-build-4.8.0
  1. 进入此目录,执行以下命令,生成makefile文件
1
2
cd gcc-build-4.8.0
../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
  1. 编译
1
make -j4

如果编译成功,则时间是比较长的,半个小时左右,所以如果你看它一直在输出没有立刻停下来,应该很开心!

  1. 安装
1
sudo make install
  1. 切换GCC到新版

确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下

1
ls /usr/local/bin | grep gcc

添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了

1
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
  1. 确认当前版本已经切换为新版
1
gcc -v

我这里用ssh远程的,发现版本没变,断开重练下,重新生成会话后发现变成了4.8了!