> CentOS > CentOS教程 >

centos7升级gcc至8.2

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了



(责任编辑:IT)