ORBSLAM2安装遇到的问题总结

ORBSLAM2安装问题总结


前言

在编译ORBSLAM2过程中,由于各种库、环境之间的不兼容会导致安装失败,在网上搜一个个问题的解决方法会非常的麻烦,特别对于小白来说,还会打击他们的学习兴致,所以结合我之前安装的经验将遇到的问题的解决方案总结在此。

一、error: ‘usleep’ was not declared in this scope

在报错的对应文件(比如LocalMapping.cc)添加:

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

二、编译了非ROS版本才能编译ROS版本,ROS版本会调用前者生成的程序库

三、编译ROS版本,eigen部分问题

/home/lqk/MYNT-EYE-ORB-SLAM2-Sample/Examples/ROS/ORB_SLAM2/../../../Thirdparty/g2o/g2o/types/se3quat.h:32:22: fatal error: Eigen/Core: 没有那个文件或目录
compilation terminated.
CMakeFiles/RGBD.dir/build.make:119: recipe for target 'CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o' failed
make[2]: *** [CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/RGBD.dir/all' failed
make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

在相应的.h文件当中,修改Eigen引用头文件:

#include <Eigen/Dense> 
改为
#include <eigen3/Eigen/Dense>

四、编译ROS版本,ModuleNotFoundError: No module named ‘rospkg‘

出现这个的原因可能是因为我们安装了adconda环境,这时编译会默认使用这个环境下的python3,这个python下未安装rospkg,我们可以切换的adconda环境下执行如下命令:

pip3 install rospkg

版权声明:本文为weixin_45850350原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。