日期:2014-05-16  浏览次数:20567 次

交叉编译qt + opencv 出现EABI的版本错误
做了一个人脸的检测程序,界面用的是qt,检测的实现用opencv,已经可以再x86环境下运行,但是交叉编译时出现以下错误:

/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge target specific data of file /usr/local/tslib/lib/libts.so
/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/../../../../arm-none-linux-gnueabi/bin/ld: ERROR: Source object /usr/local/arm/lib/opencv/lib/libopencv_core.so has EABI version 0, but target arm_face0513 has EABI version 5

/usr/local/arm/lib/opencv/lib/libopencv_core.so: undefined reference to `pow@GLIBC_2.0'
/usr/local/tslib/lib/libts.so: undefined reference to `getenv@GLIBC_2.0'
/usr/local/arm/lib/opencv/lib/libopencv_highgui.so: undefined reference to `qsort@GLIBC_2.0'
/usr/local/Trolltech/QtEmbedded-4.5.3-arm/lib/libQtCore.so: undefined reference to `pthread_cond_timedwait@GLIBC_2.3.2'


注:Ubuntu10.04,arm-linux-gcc4.3.2 qt4.5.3 opencv2.2.0

------解决方案--------------------
Source object /usr/local/arm/lib/opencv/lib/libopencv_core.so has EABI version 0, but target arm_face0513 has EABI version 5

程序依赖的动态库没有重新编译吗, 直接拿别人编译的好的用?
------解决方案--------------------
重新编译一下opecv试试