前一段时间调Bug重装了下Eigen,结果回来再跑ORB-SLAM2的时候发现报错:
make[2]: *** No rule to make target '/usr/lib/libOpenNI.so', needed by '../lib/libORB_SLAM2.so'。 停止。
CMakeFiles/Makefile2:178: recipe for target 'CMakeFiles/ORB_SLAM2.dir/all' failed
make[1]: *** [CMakeFiles/ORB_SLAM2.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
老司机也会翻车啊...
查了下是在重装Eigen的过程中把libOpenNI.so删掉了,大约也就是把Pangolin的一个附带依赖项OpenNI给删掉了,解决方案如下:
先下载OpenNI的包:git clone https://github.com/OpenNI/OpenNI
之后进入 Platform/Linux/CreateRedist 文件夹中执行:./RedistMaker
完成之后进入 Platform/Linux/Redist/OpenNI-Bin-Dev-Linux-x64-v1.5.7.10 文件夹中执行:sudo ./install.sh
最后进入 Platform\Linux\Build 文件夹中 make 一下就Ok了
github作者参考:https://github.com/OpenNI/OpenNI