参考:
https://blog.csdn.net/weixin_42090356/article/details/90678158##
https://www.cnblogs.com/gyfluck/p/10537436.html
1、准备gcc安装包
wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
tar -xzvf gcc-9.1.0.tar.gz
cd gcc-9.1.0
运行download_prerequisites脚本, ./contrib/download_prerequisites
,这个脚本会自动帮你下 载所需要的依赖文件和库,没有网络的情况可能无法下载
2、安装
mkdir gcc-build-9.1.0
cd gcc-build-9.1.0
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
可能会报错缺少三个依赖:GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+:
准备好三个依赖包
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
安装GMP:
安装GMP:
tar -jxvf gmp-6.1.0.tar.bz2
# 失败的话,可能需要安装bzip2:yum install bzip2
cd gmp-6.1.0
./configure
# 问题:configure:error:no usable m4 in$path or /user/5bin解决方案
缺少m4,yum install m4 -y
make && make install
安装MPFR
tar -jxvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
./configure
make && make install
安装MPC
tar -zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
./configure
make && make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
重新编译安装:
cd gcc-build-9.1.0/build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make && make install
3、配置gcc
cp /usr/local/lib64/libstdc++.so.6.0.21 /usr/lib64/
rm /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6
二、yum方式
参考:https://blog.csdn.net/hello_cmy/article/details/106062327
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash # 临时启用
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile # 永久启用