安装依赖
yum -y install gcc gcc-c++ kernel-devel yum -y install libgcc.i686 glibc-devel.i686
镜像站
http://mirror.hust.edu.cn/gnu/gcc/gcc-8.2.0/
wget http://mirror.hust.edu.cn/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz tar xvf gcc-8.2.0.tar.gz
自动安装依赖
cd gcc-8.2.0 ./contrib/download_prerequisites
mkdir build cd build ../configure --enable-languages=c,c++ --enable-checking=release --enable-multilib
#注意,这里的--enable-multilib看情况加,网上好多人教你都是写的--disable-multilib(禁用混合编译),如果大家一些编译条件需要混合编译,那就不要使用disable, 如果用了--disable-multilib,无法再重装带混合编译的gcc版本
#编译
make
4核去跑make 根据CPU内核改变,以提高效率
make -j4
#安装gcc8
make install
#重启
reboot
查看动态库版本
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX Centos7 搭配4.8.5目前最新的是3.4.19 GLIBCXX
查找 libstdc++.so.6* 库文件
find / -name libstdc++.so.6*
软链接glibc库
64位
把文件复制到lib64下 cp /usr/local/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6.0.25
进入lib64目录
cd /usr/lib64
删除旧的链接文件
rm -f libstdc++.so.6
创建新的链接文件
ln -s libstdc++.so.6.0.25 libstdc++.so.6
32位 同理,代码意思如上
把文件复制到lib下
cp /usr/local/lib/libstdc++.so.6.0.25 /usr/lib/libstdc++.so.6.0.25
进入lib目录
cd /usr/lib
删除旧的链接文件
rm -f libstdc++.so.6
创建新的链接文件
ln -s libstdc++.so.6.0.25 libstdc++.so.6
再次查看动态库版本 strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
出现3.4.25 GLIBCXX 成功!