近期阅读了文献:PL-SLAM: a Stereo SLAM System through the Combination of Points and Line Segments
发现作者已将代码开源,于是自己尝试着跑了下,具体的流程可以参考:https://blog.csdn.net/xs1102/article/details/80757404
这边主要总结自己在编译运行时踩到的坑:
主要分几个大块:
一.安装OpenCV+contrib:
1.1make过程中遇到:
In file included from /home/hlx/opencv-3.1.0/build/modules/python2/pyopencv_generated_include.h:11:0,
from /home/hlx/opencv-3.1.0/modules/python/src2/cv2.cpp:12:
/home/hlx/opencv-3.1.0/opencv_contrib-3.1.0/modules/hdf/include/opencv2/hdf/hdf5.hpp:40:18: fatal error: hdf5.h: 没有那个文件或目录
compilation terminated.
modules/python2/CMakeFiles/opencv_python2.dir/build.make:300: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o' failed
make[2]: *** [modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o] Error 1
CMakeFiles/Makefile2:15472: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/all' failed
make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
解决方法:locate找到hdf5.h
在/usr/include/hdf5/serial/hdf5.h
在opencv_contrib-3.1.0/modules/hdf/include/opencv2/hdf/hdf5.hpp 文件中修改第40行
将#include <hdf5.h> 修改成#include "/usr/include/hdf5/serial/hdf5.h"
1.2make过程中遇到
LAPACKE_H_PATH-NOTFOUND/lapacke.h: 没有那个文件或目录
解决方式:
sudo apt-get install liblapacke-dev checkinstall
modify the
#include "LAPACKE_H_PATH-NOTFOUND/lapacke.h"
into
#incl