具体步骤
主要思想:下载源代码然后在本地编译
#必备组件安装
yum install -y gcc gcc-c++ bzip2
#随便cd到一个地方。
cd /
#下载gcc源代码
wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
#解压
tar -zxvf gcc-7.3.0.tar.gz
#到源代码目录
cd gcc-7.3.0
#下载一些必须的东西
./contrib/download\_prerequisites
#如果下载不下来,或者下载缓慢可以考虑查看命令行拿到下载地址自己down下拉后,放到源代码目录。具体地址:ftp://gcc.gnu.org/pub/gcc/infrastructure/,需要下载的几个源代码包如下,可以查看./contrib/download\_prerequisites文件。
gmp='gmp-6.1.0.tar.bz2'
mpfr='mpfr-3.1.4.tar.bz2'
mpc='mpc-1.0.3.tar.gz'
isl='isl-0.16.1.tar.bz2'
#接着创建一个目录,用于gcc build
mkdir gcc-build-7.3.0
#cd到build目录,准备开始编译了。
cd gcc-build-7.3.0
#编译的config,disable-multilib 64位编译标记。具体可查看官方文档
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
#接着就是漫长的编译等待了
make #很慢,得好几个小时
make install
#重新建立软连接
find / -name "libstdc++.so*" #找到自己的文件路径
#把libstdc++.socopy到/usr/lib64目录,类似下面的命令
cp /root/gcc-7.3.0/gcc-build-7.3.0/x86\_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64
cd /usr/lib64
rm -rf libstdc++.so.6 #删除原来的
ln -s libstdc++.so.6.0.24 libstdc++.so.6 #重新建立软连
gcc -v #看看现在的版本