我正在为Ras 3b Stretch编译opencv,在Pi 3b上运行 . 在输出此错误之前,它一直编译为58% . 有谁熟悉错误以及如何纠正错误?
[58%]链接CXX共享库../../lib/libopencv_datasets.so CMakeFiles / opencv_datasets.dir / src / gr_chalearn.cpp.o:文件无法识别:文件截断了collect2:错误:id返回1退出状态模块/ datasets / CMakeFiles / opencv_datasets.dir / build.make:858:目标的配方'lib/libopencv_datasets.so.3.3.0'失败make [2]: *** [lib/libopencv_datasets.so.3.3.] Error 1 CMakeFiles/Makefile2:14481: recipe for target 'modules/datasets/CmakeFiles/opencv_datasets.dir/all' failed make[1]: *** [modules / datasets / CMakeFiles / opencv_datasets.dir / all]错误2 Makefile:160:目标的配方'all'失败make *** [全部]错误2
2 回答
我通过下载opencv-3.4并使用
-j4
运行make来解决了这个问题在官方支持的基于Ubuntu / Linux的操作系统上构建opencv二进制文件一直比普通图像更麻烦 . 其中一个核心原因是这些发行版使用的可视图形(大多数但不限于)与普通图形不同 . (出于同样的原因,在基于LXDE的Ubuntu发行版上安装它时会发现一些类似的错误) . 我在Ubuntu 18.04 Gnome,Ubuntu 18.04 LXDE,Ubuntu 16.04 LXDE和Raspbian OS上发现了同样方法的不同错误 . 话虽如此,总有解决方案可用 . 请检查link是否需要库 . 确保添加了安装所需的所有存储库 . 您必须非常仔细地查看这些库:
libgsteramer0.10-dev
,libgstreamer0.10-plugins-base-dev
&libgstreamer1.0-base-dev
.libprotobuf-dev
&protobuf-compliler
libatlas-base-dev
libjasper-dev
(这个为wheezy,你需要启用存储库)libfaac-dev
将需要这些库,并在cmake期间对它们运行测试 . 其中一些有很多依赖性问题,如
libpng12-dev
和libtheora-dev
. 如果您可以粘贴cmake构建的初始部分,我们可以精确定位这些库 .