/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法

https://pkgs.org/download/libstdc++ 

centos 7 64位系统,本人在升级完gcc7.3.0之后,发现编译项目工程,结果会出错:libstdc++.so.6: version `GLIBCXX_3.4.20' not found

解决方法如下:

[root@localhost src]# 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_DEBUG_MESSAGE_LENGTH

发现少了GLIBCXX_3.4.20,解决方法是升级libstdc++.


[root@localhost ~]# yum provides libstdc++.so.6
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
libstdc++-4.8.5-11.el7.i686 : GNU Standard C++ Library
Repo        : base
Matched from:
Provides    : libstdc++.so.6
 

[root@localhost ~]# yum install libstdc++-4.8.5-11.el7.i686

 

1、从路径/usr/local/lib64拷贝文件libstdc++.so.6.0.20(或者更高版本,例如libstdc++.so.6.0.24)到路径/usr/lib64

2、删除/usr/lib64原来的软连接libstdc++.so.6 #强烈建议删除之前先备份一份

3、在路径/usr/lib64,打开终端命令行,输入ln命令,重新建立软连接ln libstdc++.so.6.0.20 libstdc++.so.6

4、重新执行strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

ok!

-----

参考文章:

解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found问题

【解决】缺少libstdc++.so.6库的原因及解决办法

你可能感兴趣的:(Linux)