在执行程序出现这个问题有两种情况
原因1:已经安装过高版本但未软连接
解决方法:查找编译gcc时生成的最新动态库
find / -name "libstdc++.so*" 输出:

cd /usr/lib64
ll stdlibc++*

以看到当前libstdc++so.6指向13的版本,接下来把刚刚的高版本的复制到这里并重建软链即可
rm libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
现在再执行就ok了!
原因2:版本低
解决方法:
- 查看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
在查看发现已经升级

再次执行发现已经没有问题了!
本文详细介绍了如何处理程序中因高版本库未软连接和版本过低导致的问题,包括查找并修复libstdc++动态库版本,以及正确升级和软连接的方法,确保软件运行正常。
1571

被折叠的 条评论
为什么被折叠?



