ARM的OpenCV交叉编译失败

时间:2015-04-07 06:02:32

标签: linux opencv cmake arm

我正在关注this site为ARM编译OpenCV。

找不到我的编译器,所以我把它硬编码到cmake文件

  

find_program(CMAKE_C_COMPILER NAMES arm-linux-gnueabi-gcc-4.7)   find_program(CMAKE_CXX_COMPILER NAMES arm-linux-gnueabi-g ++ - 4.7)   set(ARM_LINUX_SYSROOT / usr / arm-linux-gnueabi CACHE PATH“ARM交叉编译系统root”)

它大约50%编译然后抛出以下错误:

  

链接CXX共享库../../lib/libopencv_viz.so   /usr/lib/libvtkCharts.so.5.8.0:无法识别文件:无法识别文件格式   collect2:错误:ld返回1退出状态

我不是每个经验丰富的交叉编译(或直接汇编的事情)。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我认为这是libopencv_vizlibvtkCharts之间的不匹配。您的一些第三方库是为另一个平台构建的。必须从源代码重新编译这些库本身,以匹配要使用它们的系统的详细信息(ABI,动态系统库依赖关系等)。

答案 1 :(得分:-1)

编译OpenCV 2.4.10对我有用。我没有任何首选版本。如果你想编译v3.0,请参阅@Kornel的回答,这表明viz库不在编译之中。

使用此命令签出v2.4.10

  

git checkout 2.4.10