centos6.x升级g++.v6.1.0版本

来源:互联网 发布:威尔法瑞尔知乎 编辑:程序博客网 时间:2024/05/17 22:45

更新gcc至v6.1.0版本

1.安装环境

centos6.x

已安装低版本gcc

2.安装准备

2.1新建目录gcc6,存放源码包
# mkdir gcc6
# cd gcc6

2.2下载源码包
PS:我在虚拟机里面下载到30%就卡住了,所以就在windows下载好,再传到centos上进行安装
# wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz
# tar -zxvf gcc-6.1.0.tar.gz
# cd gcc-6.1.0

2.3打开  download_prerequisites 脚本

# vim contrib/download_prerequisites
可以看到该文件就是执行一些下载指令,需要下载几个包,按照包名和版本号进行下载,在我的虚拟机中直接执行这个脚本,下载很慢,所以就手动下载了,操作如下

下载isl-0.15 , mpfr-2.4.2 , gmp-4.3.2 , mpc-0.8.1 , 下载的文件存放于 解压得到文件夹中
(建议用windows下载好后,在导入centos中)

# wget http://isl.gforge.inria.fr/isl-0.15.tar.bz2
# wget http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2
# wget http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
# wget http://pkgs.fedoraproject.org/repo/pkgs/libmpc/mpc-0.8.1.tar.gz/5b34aa804d514cc295414a963aedb6bf/mpc-0.8.1.tar.gz

将download_prerequisites 脚本中下载的行注释
如下图

3 开始安装

3.1  执行 修改后的   download_prerequisites 脚本 , 并生成Makefile文件
#  ./contrib/download_prerequisites 
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

3.2  编译 , 安装
# make -j4 && make install

漫长的等待......

3.3更新动态库链接
找到新的动态库
# find / -name "libstdc++.so*"
# cd /usr/lib64  
下面命令中,较长的路径是解压出来源码包的目录下的链接文件,将该文件复制到  /usr/lib64
# cp /root/gcc6/gcc-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22  ./
删除原来的链接
# rm -rf libstdc++.so.6
指向新的链接
# ln -s libstdc++.so.6.0.22 libstdc++.so.6

安装完毕!

验证代码:代码中含有c++11的新内容即可
#include<iostream>#include<string>using namespace std;int main( void ){string a;a = to_string(123);cout << a;return 0;}

编译,运行
# g++  -o  test   test.cpp 
# ./test
输出 
123
成功运行!



0 0