C++ wandboard的交叉编译Opencv示例

C++ wandboard的交叉编译Opencv示例,c++,opencv,C++,Opencv,我试图交叉编译一个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

我试图交叉编译一个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二进制文件