1. 首先查看libstdc++.so.6支持了哪些GLIBCXX
# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
其次查看是否已经存在libstdc++.so.6.xx可以使用GLIBCXX
2. 先切到根目录查看当前系统支持哪些libstdc++
# cd /
# find . -name "libstdc++.so.6*"
3. 如果找到你需要的文件可以直接拷贝过去
# cp {你找到的文件} /usr/lib64
4. 然后删除原本的连接,并重新对你拷贝过来的文件进行连接,然后可以查看连接情况
# cd /usr/lib64
# libstdc++.so.6
# ln -s {拷贝过来的文件名} libstdc++.so.6"
# strings /usr/lib64/libstdc++.so.6 | grep GLIBC
一般来说libstdc++.so.6.0.xx默认支持到xx位,举个栗子
libstdc++.so.6.0.20意思就是说支持到GLIBC_3.4.20
所以看你系统需要支持到什么地步了,具体可以看下面的官网,有标注各个gcc版本支持到libstdc++.so.6.?
https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
如果没有找到合适的对象可以接着往下看, 接下来需要升级gcc版本来支持,为了方便大家看,我剪切部分内容
对于GCC的升级适当就行,别升级太高,升级到你需要的版本即可
-
GCC 4.5.0: libstdc++.so.6.0.14
-
GCC 4.6.0: libstdc++.so.6.0.15
-
GCC 4.6.1: libstdc++.so.6.0.16
-
GCC 4.7.0: libstdc++.so.6.0.17
-
GCC 4.8.0: libstdc++.so.6.0.18
-
GCC 4.8.3: libstdc++.so.6.0.19
-
GCC 4.9.0: libstdc++.so.6.0.20
-
GCC 5.1.0: libstdc++.so.6.0.21
-
GCC 6.1.0: libstdc++.so.6.0.22
-
GCC 7.1.0: libstdc++.so.6.0.23
-
GCC 7.2.0: libstdc++.so.6.0.24
-
GCC 8.0.0: libstdc++.so.6.0.25
到你想要装的目录下创建文件夹,我这边举例子在home下,然后到http://ftp.gnu.org/gnu/gcc/找需要的版本,我这边举例4.9.2(因为我刚好缺这个版本)
# cd /home
# mkdir gcc
# cd gcc
# wget http://ftp.gnu.org/gnu/gcc/4.9.2/gcc-4.9.2.tar.bz2
解压压缩包,并进入解压目录
# tar -jxvf gcc-4.9.2.tar.bz2
# cd gcc-4.9.2
下载,配置,安装需要的依赖库
# ./contrib/download_prerequisites
创建编译目录并进去
# mkdir gcc-build-4.9.2
# cd gcc-build-4.9.2
生成Makefile,准备编译整个项目
# ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
编译gcc的源码,非常耗时,时间决定于你的机器的性能
# make
安装gcc
# make install
然后重启
# reboot
最后重复开头的2,3,4步骤,对libstdc++重新连接
参考地址:http://www.cjjjs.com/paper/czxt/2017222114137150.html
如果帮到你,请点个赞吧 O(∩_∩)O~