编译报错:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found

当在Ubuntu 16.04上运行ROS Kinetic时,如果遇到ImportError提示缺少libstdc++.so.6.0.22,可以通过查找现有库、下载缺失版本、解压并复制到相应目录,然后创建软链接来修复此问题。
摘要由CSDN通过智能技术生成

写在前面

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

本文转载自
[1] 凤⭐尘. ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found [EB/OL]. https://blog.csdn.net/qq_36396104/article/details/88774797, 2019-03-24/2022-03.24.

1. 报错描述

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

通过报错,主要原因是程序的编译器的版本是比较低,缺少GLIBCXX_3.4.22,其实就是少了libstdc++.so.6.0.22。

2. 解决方法

sudo find / -name 'libstdc++.so*'

这里主要是看:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found

注意:这里libstdc++.so.6.0.22存放的地址/usr/lib/x86_64-linux-gnu/就要具体情况具体分析了。

ibstdc++.so.6.0.22下载地址: https://pan.baidu.com/s/1bj_wPSfuFuvMOOSbpBstkA?pwd=n723 提取码: n723

下载的文件是.deb文件,解压

cd Downloads/
ar -x lib64stdc++6_6.2.0-5ubuntu12_i386.deb 

得到一个data.tar.xz文件,解压

tar xvJf data.tar.xz

解压后的文件在Download/usr/lib64/里面

cd ./usr/lib64/

然后复制到之前报错的文件夹里面,我这里是 /usr/lib/x86_64-linux-gnu/

mv libstdc++.so.6.0.22  /usr/lib/x86_64-linux-gnu/

重新建立软连接

cd /usr/lib/x86_64-linux-gnu/
rm libstdc++.so.6
ln libstdc++.so.6.0.22 libstdc++.so.6

这里基本上就完成了

3. 转载链接

[1] 凤⭐尘. ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found [EB/OL]. https://blog.csdn.net/qq_36396104/article/details/88774797, 2019-03-24/2022-03.24.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值