我正在关注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退出状态
我不是每个经验丰富的交叉编译(或直接汇编的事情)。我该如何解决这个问题?
答案 0 :(得分:2)
我认为这是libopencv_viz
和libvtkCharts
之间的不匹配。您的一些第三方库是为另一个平台构建的。必须从源代码重新编译这些库本身,以匹配要使用它们的系统的详细信息(ABI,动态系统库依赖关系等)。
答案 1 :(得分:-1)
编译OpenCV 2.4.10对我有用。我没有任何首选版本。如果你想编译v3.0,请参阅@Kornel的回答,这表明viz库不在编译之中。
使用此命令签出v2.4.10
git checkout 2.4.10