yum -y install texinfo
mkdir /opt/soft/
cd /opt/soft/
wget http://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz
tar -C /usr/local -xzf gcc-8.2.0.tar.gz
cd /usr/local/gcc-8.2.0
./contrib/download_prerequisites
mkdir build
cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
yum groupinstall "Development Tools"
make #这个步骤非常耗时长
make install
reboot #一定要记得重启
find / -name "libstdc++.so*"
输出如下(最新动态库的目录)
/usr/local/gcc-8.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25
/usr/local/gcc-8.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/usr/local/gcc-8.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
复制最新动态库文件libstdc++.so.6.0.25到/usr/lib64下
cp /usr/local/gcc-8.2.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25 /usr/lib64
复制后,修改系统默认动态库的指向,即:重建默认库的软连接。切换工作目录至/usr/lib64:
cd /usr/lib64
删除原来软连接
rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:
ln -s libstdc++.so.6.0.25 libstdc++.so.6
默认动态库升级完成。重新运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
gcc -v 查看版本号就变成8.2了