/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

碰到这个问题,主要是libstdc++.so.6库版本太低,依赖新的版本,至少高于libstdc++.so.6.0.21

网上搜了一堆处理方法,都是坑,好不容易搜到个正确的(https://www.cnblogs.com/xxd-qyr/p/11014491.html),顺便记录下

我的问题是在centos7上碰到的该报错,机器很干净,没安装过其他版本的c++库,自己电脑上也找不到高版本的依赖库,处理步骤如下:

1、首先下载高版本的c++库文件,并放置到linux服务器上,没自己编译过,在网上搜到的一个下载链接

libstdc++.so.6.0.26

root用户下执行:
2、拷贝libstdc++.so.6.0.26到系统/usr/lib64目录下

3、修改文件权限
    chmod 755 libstdc++.so.6.0.26

4、备份原libstdc++.so.6软连接
    mv libstdc++.so.6 libstdc++.so.6-bak

5、创建新的软连接,连接到新的库即可
    ln -s libstdc++.so.6.0.26 libstdc++.so.6

[root@ip lib64]# ll libstd*
lrwxrwxrwx 1 root root       19 Nov 10 15:50 libstdc++.so.6 -> libstdc++.so.6.0.26
-rwxr-xr-x 1 root root   991616 Aug  7  2019 libstdc++.so.6.0.19
-rwxr-xr-x 1 root root 13172960 Nov 10 15:36 libstdc++.so.6.0.26
lrwxrwxrwx 1 root root       19 Nov 10 15:21 libstdc++.so.6-bak -> libstdc++.so.6.0.19

6、验证新的库是否生效
    strings /usr/lib64/libstdc++.so.6|grep GLIBCXX

[centos@ip ~]$ strings /usr/lib64/libstdc++.so.6|grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_DEBUG_MESSAGE_LENGTH

[centos@ip ~]$ strings /usr/lib64/libstdc++.so.6|grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_1.3.12

posted @ 2020-11-11 09:24  GISer-Li  阅读(119)  评论(0编辑  收藏