我正试图交叉编译OpenCV 2.4.3执行以下操作的示例:
arm-linux-gnueabi-g++ main.cpp -o test1 `pkg-config opencv --libs` `pkg-config opencv --cflags`.
它返回以下错误:
/usr/local/lib/libopencv_calib3d.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
我已经使用yocto项目在一个图像上为ARM编译了OpenCV库。
任何形式的帮助都将不胜感激。
很明显,您为平台使用了不正确的二进制文件。看起来您的编译器是针对ARM的,但libopencv_calib3d.so
是x86二进制文件。
使用检查
$ file /usr/local/lib/libopencv_calib3d.so
只需指向交叉编译的ARM二进制文件。