opencv用arm-himix200-linux-g++交叉编译后,移动到开发板,编译程序成功,运行时出现重定位错误
云镛 2020-09-22 04:29:56 opencv用arm-himix200-linux-g++交叉编译通过了,移动到海思Hi3516dv300开发板,应用程序编译连接成功,运行时出现重定位错误。
如下:
~/mnt/app/src # ./people
./people: relocation error: /usr/lib/libopencv_core.so.4.5: symbol _ZNSt15__exception_ptr13exception_ptrC1Ev, version CXXABI_1.3.11 not defined in file libstdc++.so.6 with link time reference
哪位大神能解答下。
vmuser@ubuntu:~/share/app/src$ strings /opt/hisi-linux/x86-arm/arm-himix200-linux/arm-linux-gnueabi/lib/libstdc++.so.6 | 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
CXXABI_ARM_1.3.3
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_ARM_1.3.3
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3
上面是交叉编译工具链的,libstdc++.so.6
下面是宿主机gcc/g++的libstdc++.so.6
vmuser@ubuntu:~/share/app/src$ sudo find / -name libstdc++.so.6
[sudo] password for vmuser:
/usr/lib32/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
vmuser@ubuntu:~/share/app/src$ strings /usr/lib32/libstdc++.so.6 | 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_TM_1
vmuser@ubuntu:~/share/app/src$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | 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_TM_1
vmuser@ubuntu:~/share/app/src$
请问会是宿主机上的libstdc++.so.6太低吗?