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
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
举报