最近编译新的项目,发现系统自带的g++版本过低,决定进行一次升级。gcc需要太多的依赖库,编译时间很长,需要耐心等待,可以一边刷知乎一边等待。
安装依赖性
yum -y install wget bzip2 gcc gcc-c++ glibc-headers
下载源码压缩包
wget https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
国内因为不可说的原因,访问缓慢,可以试试其他的源,比如清华
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
编译
tar -zxvf gcc-9.2.0.tar.gz # 解压缩源码包
cd gcc-9.2.0
./contrib/download_prerequisites #下载gmp mpfr mpc isl等供编译需求的依赖项
mkdir build
cd build
../configure --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4
安装
make install
yum remove gcc gcc-c++
cp /usr/local/lib64/libstdc++.so.6.0.27 /usr/lib64/libstdc++.so.6.0.27
ldconfig
update-alternatives --install /usr/bin/gcc ccc /usr/local/bin/gcc 50
update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 50
update-alternatives --install /usr/bin/cc cc /usr/local/bin/gcc 50
update-alternatives --install /usr/bin/c++ c++ /usr/local/bin/g++ 50