瑞芯微Rockchip开发者社区
直播中

王燕

7年用户 1694经验值
私信 关注
[问答]

为什么RK3566 Android11编译后打包固件会出错呢

为什么RK3566 Android11编译后打包固件会出错呢?是什么原因?怎样去解决呢?

回帖(1)

何夏庄

2022-3-2 14:40:19
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
举报

更多回帖

发帖
×
20
完善资料,
赚取积分