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

在执行程序出现这个问题有两种状况c++

 

缘由1:已经安装太高版本但未软链接code

解决方法:查找编译gcc时生成的最新动态库blog

find / -name "libstdc++.so*" 输出:string

cd /usr/lib64
ll stdlibc++*编译

以看到当前libstdc++so.6指向13的版本,接下来把刚刚的高版本的复制到这里并重建软链便可class

rm libstdc++.so.6gcc

ln -s libstdc++.so.6.0.21 libstdc++.so.6下载

如今再执行就ok了!grep

 

缘由2:版本低gc

解决方法:

  • 查看gcc版本中包含哪些库。

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

从网上下载高版本的libstdc++.so.6.0.13以上的版本,好比libstdc++.so.6.0.21。(或者从其它机器上拷贝一份)

cd /usr/lib64
ll stdlibc++*

cp ../libstdc++.so.6.0.21 .

rm libstdc++.so.6

ln -s libstdc++.so.6.0.21 libstdc++.so.6

 在查看发现已经升级

 

 再次执行发现已经没有问题了!

相关文章
相关标签/搜索