写在前面

自己的环境:
Ubuntu 16.04 , ros-kinetic

一、报错描述

运行程序时报错:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found

通过这个报错可以看出,报错提示缺少 GLIBCXX_3.4.26,也就是缺少 libstdc++.so.6.0.26
(报错提示缺少 GLIBCXX_3.4.22,也就是缺少 libstdc++.so.6.0.22

通过以下指令可以查看当前的系统版本:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

在这里插入图片描述

通过上图可以发现,确实缺少 GLIBCXX_3.4.26

二、解决方法

  1. 下载libstdc++.so.6.0.26

通过链接 http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip 直接下载。

  1. 解压,得到文件 libstdc++.so.6.0.26,比如解压到了 ~/Download/ 下;
  2. 移动到文件夹下 /usr/lib/x86_64-linux-gnu/
sudo mv libstdc++.so.6.0.26  /usr/lib/x86_64-linux-gnu/
  1. 重新建立软连接
cd /usr/lib/x86_64-linux-gnu/
sudo rm libstdc++.so.6   # 移除掉原来的软连接文件
ln libstdc++.so.6.0.26 libstdc++.so.6
  1. 通过以下指令可以查看当前的系统版本:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

在这里插入图片描述

通过上图可以发现,现在已经安装 GLIBCXX_3.4.26 成功了~~

参考链接

[1] 轻枫柳曳1208. version `GLIBCXX_3.4.20’ not found 解决方法 [EB/OL]. https://www.jianshu.com/p/050b2b777b9d, 2020-08-13/2022-04-04.
[2] wonghome. 编译报错:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.22 not found [EB/OL]. https://blog.csdn.net/qq_39779233/article/details/123720295, 2022-03-24/2022-04-04.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐