opencv安装报错
make[2]: *** [modules/hdf/CMakeFiles/opencv_test_hdf.dir/build.make:120:bin/opencv_test_hdf] 错误 1
make[1]: *** [CMakeFiles/Makefile2:3918:modules/hdf/CMakeFiles/opencv_test_hdf.dir/all] 错误 2
原因:可能是缺少必要的模块 hdf5
解决方法
目前我查到有几种解决方法:
- 直接禁用hdf5模块 ,即在cmake编译时,在cmake那一大堆编译指令中加上(或更改):
cmake-DBUILD_opencv_hdf=off
- 安装hdf5模块 ,在编译时要确保,libhdf5-mpich-dev 和 libhdf5-dev 都已经安装了。libhdf5-mpich-dev依赖于MPI库,如果只安装了并行hdf5(libhdf5-mpich-dev),而没有安装串行hdf5(libhdf5-dev),在编译时就会报如上错误。安装指令如下:
sudo apt install libhdf5-mpich-dev
sudo apt install libhdf5-dev
- 引入头文件 ,如果再安装了上述的两个模块后cmake编译还是报这个错,可能是opencv的contrib的hdf源文件没有引入。
(1) 先确认/usr/include/hdf5/serial/hdf5.h是否存在,不存在说明上述两个模块未安装。
(2) 在自己的opencv_contrib文件下找到源文件:opencv_contrib-4.5.5/modules/hdf/include/opencv2/hdf/hdf5.hpp ,然后在文件中
添加
#include "/usr/include/hdf5/serial/hdf5.h"
参考链接:
[1]: https://github.com/opencv/opencv_contrib/issues/3216