Ubuntu 16.04 LTS
OpenCV 3.4.4
Eigen 3.2.29
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
安装OpenGL
sudo apt install libgl1-mesa-dev
安装Glew(也可参见其GitHub官网)
sudo apt install libglew-dev
安装CMake(编译环境,一般都会有,可以不装)
sudo apt install cmake
安装Python2 / Python3,(如果已经安装了ROS,就不用装了)
sudo apt install libpython2.7-dev
安装pkg-config(一般情况也已经安装好了,具体用法详见此链接)
sudo apt install pkg-config
安装Wayland和EGL
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
Doxygen(此为GitHub库,用于产生html或pdf文档,下方命令参考OneSea-V3.1的博客)
sudo apt-get install doxygen
依赖库安装完成,接下来编译下载好的Pangolin
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build . --target pangolin_doc
但是实际上还需要进行安装,官网没说
sudo make install
否则,在编译ORB-SLAM3时会报错
[ 37%] Building CXX object CMakeFiles/ORB_SLAM3.dir/src/System.cc.o
make[2]: *** No rule to make target '/home/bit/Pangolin-master/build/src/libpangolin.so', needed by '../lib/libORB_SLAM3.so'。 停止。
make[2]: *** 正在等待未完成的任务....
opencv_version
若没有该指令说明没有安装,需要安装,若版本低于3.0,则需要升级。
locate eigen3
若有目录返回,则即可确定安装位置,查看Eigen详细版本因安装路径不同而不同,一般为如下两个路径
/usr/include/eigen3/Eigen/src/Core/util
/usr/local/include/eigen3/Eigen/src/Core/util
打开Macros.h文件,后面三个数字连起来就是版本号,此处为3.2.92
#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 2
#define EIGEN_MINOR_VERSION 92
若Eigen为安装,则需要安装
sudo apt-get install libeigen3-dev
Could not find a package configuration file provided by "Eigen3" (requested version 3) with any of the following names: Eigen3Config.cmake eigen3 config.cmake
对路径为 …/ORB-SLAM3/CMakeLists.txt的47行,进行修改
find_package(Eigen3 3.1.0 REQUIRED)
去掉3.1.0限制,改为
find_package(Eigen3 REQUIRED)
同时对路径 …/ORB_SLAM3/Thirdparty/g2o/CMakeLists.txt的第72行,进行修改
FIND_PACKAGE(Eigen3 3.1.0 REQUIRED)
去掉3.1.0限制,改为
FIND_PACKAGE(Eigen3 REQUIRED)
cd ORB_SLAM3
chmod +x build.sh
./build.sh