RK3566 Android11 打包固件报错libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found

RK3566 Android11 编译完,打包固件的时候libstdc++.so.6报错

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

我的Ubuntu系统是14.04.1,libstdc++.so.6版本太低

更新一个libstdc++.so.6.0.21版本的库便可解决

但不能用sdk中的libstdc++.so.6.0.*

如:prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/libstdc++.so.6.0.22

sdk中的库和Ubuntu系统编译所需要的库格式是不一样的(具体没有仔细研究),刚开始我就掉入了这个坑替换哪个版本都不行

libstdc++.so.6.0.21这个库可以从网下下载,可以从Ubuntu16,或者更高的Ubuntu版本系统里去copy出来,路径为/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21

 

获取到库后做如下替换步骤:

1.拷贝到系统路径

sudo cp libstdc++.so.6.0.21 /usr/lib/x86_64-linux-gnu/

2.查看当前版本

strings /usr/local/neurosoft/anaconda2/lib/libstdc++.so.6 | grep CXXABI

3.删除前版本软连接

sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6

4.将对应版本建立新的软连接

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

5.确认下版本是否是GLIBCXX_3.4.21

strings /usr/local/neurosoft/anaconda2/lib/libstdc++.so.6 | grep CXXABI

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值