linux升级gcc6.3centos,CentOS 6.9升级GCC至6.4.0版本

一、升级前测试:

1、查看系统版本:# cat /etc/RedHat-release

19b81b22285efbbc77b0e679e46df8e7.png

2、查看默认的gcc版本:# gcc --version

777df0ea79fa7d027d7d3e092930abe4.png

3、查看默认动态库:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

e697e9adba5f6b6136fbe0ce78499aa8.png

4、不支持c++11的新特性:

尝试写一个C++11特性的程序段tryCpp11.cc,使用了shared_ptr

# vim /tmp/tryCpp11.cc

#include

#include

int main()

{

std::shared_ptr pInt(new int(5));

std::cout << *pInt << std::endl;

return 0;

}

30fad3f79d511456b4f7cb0d075cb06e.png

# cd /tmp

# g++ -std=c++11 -o tryCpp11 tryCpp11.cc

6fde28f22476de1727397adb7213b7ae.png

二、下载gcc:

下载地址http://ftp.gnu.org/gnu/gcc/,版本gcc-6.4.0.tar.xz,或者# yum -y install wget

# wget http://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz

三、编译安装gcc:

# yum -y install xz

# tar -xf gcc-6.4.0.tar.xz -C /usr/src

# cd /usr/src/gcc-6.4.0

=================================================================================

#./contrib/download_prerequisites

3647c09e1d8c6ebcecdf84324d1cb490.png

//通过FTP的方式下载编译gcc时需要用到的mpfr-2.4.2.tar.bz2、gmp-4.3.2.tar.bz2、mpc-0.8.1.tar.gz和isl-0.15.tar.bz2软件包,由于可能会出现无法下载的情况,所以事先将这4个软件包放至在/usr/src/gcc-6.4.0目录下,并解压

# cd /usr/src/gcc-6.4.0

# cp /software/mpfr-2.4.2.tar.bz2 .

# cp /software/gmp-4.3.2.tar.bz2 .

# cp /software/mpc-0.8.1.tar.gz .

# cp /software/isl-0.15.tar.bz2 .

# tar -xf mpfr-2.4.2.tar.bz2

# tar -xf gmp-4.3.2.tar.bz2

# tar -xf mpc-0.8.1.tar.gz

# tar -xf isl-0.15.tar.bz2

# ln -sv mpfr-2.4.2 mpfr

# ln -sv gmp-4.3.2 gmp

# ln -sv mpc-0.8.1 mpc

# ln -sv isl-0.15 isl

# ls

5be692ed419ab8481558d892408400c7.png

=================================================================================

# ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

# make -j4      //-j4:make对多核处理器的优化选项,此步骤非常耗时

# make install

# ls /usr/local/bin | grep gcc

477967bfdcb3bd1a875c250a443fc51d.png

四、配置gcc:

# find / -name "libstdc++.so*"

5a3939e6f0304f16c97e90b6fcc39690.png

# cd /usr/lib64

# cp /usr/src/gcc-6.4.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 .

# mv libstdc++.so.6 libstdc++.so.6.old

# ln -sv libstdc++.so.6.0.22 libstdc++.so.6

五、升级后验证:

1、查看升级后的gcc版本(有时可能需要重启服务器才能看到更新后的版本):# gcc --version

18d4483d8b9b09d1eba3bee3e88f8a5e.png

2、查看最新动态库:# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

ae3fc11354a15c04177d516a98dae81b.png

3、支持c++11的新特性:

# cd /tmp

# g++ -std=c++11 -o tryCpp11 tryCpp11.cc

# ./tryCpp11

ddaac76c85a5e4aaead98c384e1c73c9.png

0b1331709591d260c1c78e86d0c51c18.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值