今天写了一些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命令填对就行
步骤2:下载完安装包后,解压,即命令tar zxf gcc-9.1.0.tar.gz
步骤3:解压完成后,进入解压的目录,即命令 cd gcc-9.1.0
步骤4:让gcc自动下载所需要的库,即命令./contrib/download_prerequisites
步骤5:接着运行如下命令,我们把gcc安装在了目录 /usr/local/gcc,若没有这目录,你可以新建。运行make命令相当漫长,笔者这里至少有3个小时
mkdir buildcd build../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilibmakemake install
此时最新的gcc已经安装成功,但是如果你运行命令 gcc -v 会发现依然是旧版本,这是因为我们还没更新gcc的bin文件,系统依然是运行旧版gcc的bin文件
步骤6:运行如下命令
mv /usr/bin/gcc /usr/bin/gcc_4.8.5ln -s /usr/local/gcc/bin/gcc /usr/bin/gccmv /usr/bin/g++ /usr/bin/g++_4.8.5ln -s /usr/local/gcc/bin/g++ /usr/bin/g++