Linux 编程 —— libstdc++.so.6: version `CXXABI_1.3.11‘ not found

41 篇文章 6 订阅

文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888

项目场景:

基于 地平线x3 板子进行自动泊车功能中的环视拼接功能开发。


问题描述:

我在将交叉编译环境中编译好的软件拷贝到 x3 板子中执行时,遇到了如下问题:

./bin/horizon: /usr/lib/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /userdata/apa/lib/libadmultivioplugin.so.1)

原因分析:

提示:这里填写问题的分析:
在分析后发现,x3 板子中系统使用的是 libstdc++.so.6.0.22 , 而我们 Horizon 在编译时使用的是 libstdc++.so.6.0.25 。 也就是出现了高版本编译,但是在低版本时使用, 而低版本是不支持高版本的,所以升级 X3 板子系统中所使用的该库,以保证版本的一致。

```bash
# 两个 C++ 库的区别
libstdc++.so.6.0.22
libstdc++.so.6.0.25


aliven@Aliven:~$  strings libstdc++.so.6.0.22 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_TM_1

aliven@Aliven:~$ strings libstdc++.so.6.0.25 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1


解决方案:

sudo find /usr -name "libstdc++.so.*"      #查找库的位置

# 开发版位置在 /usr/lib 中, 这里就以该路径举例,实际请以自己系统查找路径稳准。
sudo cp libstdc++.so.6.25 /usr/lib
sudo cd /usr/lib/
sudo rm libstdc++.so.6 ibstdc++.so.6.0.22
sudo ln -s libstdc++.so.6.0.25 libstdc++.so.6  # 建立软链接
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值