ORB_SLAM2安装5大坑

0.注意啊啊啊啊啊啊啊

系统:Ubuntu 18.04 (安装系统后一定要换成国内的阿里源啊啊啊啊啊)

1.最先装Eigen否则会报找不到Eigen的error

#解压缩安装包

#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install

#安装完成后,移动头文件(因为经常使用#include <Eigen/Dense>而不是使用#include<eigen3/Eigen/Dense>,所以要做下处理。)
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

2.Pangolin要安装v0.5版本

(https://github.com/stevenlovegrove/Pangolin)找0.5版本
Pangolin版本高会报"error: ‘slots_reference’ was not declared in this scope",目前网上有两种解决方案:1.降为v0.5版本。2.将c++11升级到c++14或17。
昼行大佬的解答
BigHandsome2020大佬的解答
理论上需要先卸载旧库再装新库,因为本人之前在安装PCL库时使用sudo apt-get install libpcl-dev pcl-tools 命令可能顺带安装了高版本的Pangolin库,无法按照"进入Pangolin文件夹的build里边,执行sudo make uninstall"进行卸载,遂尝试不管旧版直接按照顺序进行安装,结果成功。

#安装依赖项
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev

#安装Pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j

#一定不要省略下面的步骤(否则#include时找不到pangolin)
#否则无法在/usr/local/include/ 看到pangolin文件夹
sudo make install

3.std::map must have the same value_type as its allocator

cgnerds大佬的解答包治百病
github大佬的解答

#将 ~/ORB_SLAM2/include/LoopClosing.h::49 处的
typedef map<KeyFrame *, g2o::Sim3, std::less<KeyFrame *>, Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3>>> KeyFrameAndPose;
#改为
typedef map<KeyFrame *, g2o::Sim3, std::less<KeyFrame *>, Eigen::aligned_allocator<std::pair<KeyFrame *const, g2o::Sim3>>> KeyFrameAndPose;

4.‘usleep’ was not declared in this scope

#将头文件“#include<unistd.h>”添加到下列文件中
~/ORB_SLAM2/Examples/Monocular/mono_euroc.cc
~/ORB_SLAM2/Examples/Monocular/mono_kitti.cc
~/ORB_SLAM2/Examples/Monocular/mono_tum.cc
~/ORB_SLAM2/Examples/RGB-D/rgbd_tum.cc
~/ORB_SLAM2/Examples/Stereo/stereo_euroc.cc
~/ORB_SLAM2/Examples/Stereo/stereo_kitti.cc
~/ORB_SLAM2/src/LocalMapping.cc
~/ORB_SLAM2/src/LoopClosing.cc
~/ORB_SLAM2/src/System.cc
~/ORB_SLAM2/src/Tracking.cc
~/ORB_SLAM2/src/Viewer.cc
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值