Linux arm交叉编译opencv程序时出错

Linux arm交叉编译opencv程序时出错,linux,opencv,Linux,Opencv,arm-linux-g++-o samplecam usbcam.cpkg config opencv--cflags--libs usbcam.c:25:注:GCC 4.4中对“va_列表”的修改 /usr/local/lib/libopencv_calib3d.so:无法读取格式错误的符号:文件 collect2:ld返回了1个退出状态 make:[usbcam]错误1问题是什么?你是做什么的?我假设您的pkg配置获取安装在构建机器中的库的设置(path/usr/local/lib建议这样做

arm-linux-g++-o samplecam usbcam.c
pkg config opencv--cflags--libs
usbcam.c:25:注:GCC 4.4中对“va_列表”的修改 /usr/local/lib/libopencv_calib3d.so:无法读取格式错误的符号:文件 collect2:ld返回了1个退出状态
make:[usbcam]错误1

问题是什么?你是做什么的?我假设您的pkg配置获取安装在构建机器中的库的设置(path/usr/local/lib建议这样做)。难怪它不会与ARM二进制文件链接


如果您有opencv的ARM版本,以及它的SDK,那么在配置版本之前,您应该将PKG_CONFIG_PATH设置为/opt/crosstoolchain/../opencv/lib/pkgconfig?

我是linux新手,我不明白您在说什么,您能详细解释一下如何为ARMOk交叉编译吗。1.确保您使用的是交叉编译器,而不是发行版的默认编译器。2.确保您是使用ARM库而不是宿主库进行链接和编译。粘贴“无法读取符号:文件格式错误”之类的问题表明,您尝试将一个体系结构的构建链接到另一个体系结构的对象文件/lib。要解决操作点1.,您需要将ARM编译器放在PATH中,并提供--host=(跨体系结构),要解决AP2.,请使用PKG_CONFIG_PATH。谷歌对于它来说,字符限制太短,无法在这里描述。