libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found 终极解决方法

当遇到`GLIBCXX_3.4.22`找不到的错误时,可以通过检查/usr/lib/aarch64-linux-gnu/libstdc++.so.6的版本。若缺少版本,可寻找支持GLIBCXX_3.4.22的高版本库(如libstdc++.so.6.0.26),将其拷贝到相应路径并替换原有软链接,以解决Linux系统中c++运行时依赖问题。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

首先先查看/usr/lib/aarch64-linux-gnu/libstdc++.so.6这个库的信息

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

如果找不着可以使用

sudo find / -name "libstdc++.so.6*"

结果如下:

/usr/lib/vmware-tools/lib32/libstdc++.so.6
/usr/lib/vmware-tools/lib32/libstdc++.so.6/libstdc++.so.6
/usr/lib/vmware-tools/lib64/libstdc++.so.6
/usr/lib/vmware-tools/lib64/libstdc++.so.6/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
find: ‘/run/user/1000/gvfs’: Permission denied
/home/follow/vmware-tools-distrib/lib/lib32/libstdc++.so.6
/home/follow/vmware-tools-distrib/lib/lib32/libstdc++.so.6/libstdc++.so.6
/home/follow/vmware-tools-distrib/lib/lib64/libstdc++.so.6
/home/follow/vmware-tools-distrib/lib/lib64/libstdc++.so.6/libstdc++.so.6
/home/follow/anaconda3/lib/libstdc++.so.6
/home/follow/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6
/home/follow/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6

找到有GLIBCXX_3.4.21的库,ll查看它链接的具体库文件

root@ubuntu:~# ll /usr/lib/aarch64-linux-gnu/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Jul  4  2016 /usr/lib/aarch64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.21

libstdc++.so.6.0.21这个版本不包含GLIBCXX_3.4.22,我们使用更高版本的libstdc++.so来解决这个问题。
比如我的是

/home/follow/anaconda3/envs/yolo/lib/libstdc++.so.6 -> libstdc++.so.6.0.26*

(这个都支持到GLIBCXX_3.4.22了),接着只要把这个库libstdc++.so.6.0.26拷贝到报错的路径/usr/lib/aarch64-linux-gnu/,然后删除/usr/lib/aarch64-linux-gnu/libstdc++.so.6这个软链接,重新再给建立一个链接到libstdc++.so.6.0.26这个库上。

sudo cp /opt/anaconda3/lib/libstdc++.so.6.0.26 /usr/lib/aarch64-linux-gnu
sudo rm /usr/lib/aarch64-linux-gnu/libstdc++.so.6
sudo ln -s /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.26 /usr/lib/aarch64-linux-gnu/libstdc++.so.6

ok了

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值