根本原因是arm板的根文件系统的交叉编译器和软件的交叉编译器不一致
根文件系统使用的交叉编译器版本过低。
在ARM控制器输入 :
strings /lib/libstdc++.so.6 | grep GLIBCXX
就会发现没有 GLIBCXX_3.4.21 输出
在交叉编译器文件夹下找到更高版本的库文件进行替换
我是在这里找到的:
/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/debug
在ubuntu根文件下输入:
find / -name “libstdc++.so.6*”
可以查询这个文件
然后拷贝到arm板下的 /lib/文件夹里
进入到/lib/文件夹
删除原来的链接文件:
rm libstdc++.so.6
创建新的链接:
ln -s libsdtc++.so.6.0.2x libstdc++.so.6
(x表示你拷贝版本,要大于0的版本才行)
再输入:
strings /lib/libstdc++.so.6 | grep GLIBCXX
看看有没 GLIBCXX_3.4.21 输出