今天写了一些c++测试代码,用到了CAS操作,属于c++11的东西,发现旧版本的gcc居然不支持,笔者原来是gcc4.8.5,而gcc到了4.9才能完全支持c++11

没办法,只好升级gcc了,这里把升级步骤记录下来

步骤1:wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.1.0/gcc-9.1.0.tar.gz

笔者下载的是gcc9.1.0版本,如果你想下载其他版本,请参考笔者的这篇博客,找到对应的版本名字,把上面的wget命令填对就行

centos升级gcc_旧版

步骤2:下载完安装包后,解压,即命令 tar zxf gcc-9.1.0.tar.gz

centos升级gcc_centos升级gcc_02

步骤3:解压完成后,进入解压的目录,即命令 cd gcc-9.1.0

步骤4:让gcc自动下载所需要的库,即命令 ./contrib/download_prerequisites

centos升级gcc_centos安装gcc_03

 步骤5:接着运行如下命令,我们把gcc安装在了目录 /usr/local/gcc,若没有这目录,你可以新建。运行make命令相当漫长,笔者这里至少有3个小时

mkdir build
cd build
../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
make
make install

此时最新的gcc已经安装成功,但是如果你运行命令 gcc -v 会发现依然是旧版本,这是因为我们还没更新gcc的bin文件,系统依然是运行旧版gcc的bin文件

centos升级gcc_旧版_04

步骤6:运行如下命令

mv /usr/bin/gcc /usr/bin/gcc_4.8.5
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++_4.8.5
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++

centos升级gcc_centos升级gcc_05