在装虚拟机时将内存设置为50G/66G,20G会在程序运行时报内存不足;如果装虚拟机时没设置大内存,建议先扩容再安装软件。一定要注意安装的包的版本号和能不能支持的问题,不然会一直报错。报错太多且解决不了建议直接重装,方便快捷
orb_slam2软件包链接:GitHub - raulmur/ORB_SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities
安g++6(可选)
参考:Ubuntu16.04 安装g++6 - _离水的鱼 - 博客园
安Pangolin
先安装依赖
sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
安装过程中可能报错,显示可安其他版本的依赖,直接按提示换版本进行安装即可
Pangolin需要安装老版本,安装包链接:https://pan.baidu.com/s/13akUi7P23AP6yf-r2UP2jQ
提取码:w70d
下好后解压,进入文件夹
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j
安装opencv
先安装依赖项
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
opencv安装版本建议为3.2.0或者2.4.11,否则会需要修改cmakelist里面opencv的版本号
opencv官网 Home - OpenCV 下载完后解压进入文件夹
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local
make -j8
sudo make install
安Eigen3
sudo apt-get install libeigen3-dev
这样直接安装的版本号为3.2.92,可在文件中进行查看
安DBoW2和g2o
两者直接用orb_slam2安装包中thirdparty里面的库包进行编译安装即可,DBoW2直接编译,g2o需要提前安装一些依赖
sudo apt-get install libcholmod3.0.6
sudo apt-get install libsuitesparse-dev
sudo apt-get install freeglut3 freeglut3-dev freeglut3-dbg
sudo apt-get install libqglviewer2 libqglviewer-dev libqglviewer-doc
sudo apt-get install libeigen3-dev libeigen3-doc
编译安装
mkdir build
cd build
cmake ..
make
sudo make install
安ROS(可选)
wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh
chmod 755 ./install_ros_kinetic.sh
bash ./install_ros_kinetic.sh
编译orb_slam2
cd ORB_SLAM2
chomd +x build.sh
./build.sh
安装orb_slam3
直接在这台虚拟机上下载orb_slam3的安装包即可,所用到的库和版本号与slam2一致
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
cd ORB_SLAM3
chomd +x build.sh
./build.sh
*安装过程中的报错及解决办法*
1、内存不够:增加虚拟内存或直接关掉虚拟机,增加内存
2、报错 make:***No rule to make target 'install' : 将make install 换成 install -d
参考:报错:make: *** No rule to make target `install' - 草莓干123456 - 博客园
3、orb_slam2编译时报错 makefile83 recipe for target 'all' failed: eigen3的问题
参考:Ubuntu16.04下编译ORB_SLAM2错误_武溪嵌人-CSDN博客