0
点赞
收藏
分享

微信扫一扫

ORB_SLAM2安装5大坑

木匠0819 2022-04-28 阅读 91

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,并放置在home文件夹下。

#安装依赖项
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
#如果安装v0.5版本请跳过git步骤
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j

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
举报

相关推荐

0 条评论