目录
前言
系统版本
下载高翔视觉SLAM十四讲第二版的源代码
一、安装 Vim
二、安装 g++
三、安装 KDevelop 以及汉化
1.安装
2.汉化
四、安装 Eigen 库
五、安装 Pangolin 库
六、安装 Sophus 库
七、安装 OpenCV 库
1.安装依赖项
2.下载 OpenCV 源码
八、安装 Ceres 库
九、安装 g2o 库
十、安装 Meshlab 软件
十一、安装 DBoW 库
十二、安装一个依赖项
十三、安装 PCL 库
十四、安装 octomap 库
十五、安装gflags
十六、安装glog
1.下载源码
2.安装依赖项
3.编译 安装
报错
继续执行 3.编译 安装
十七、安装gtest
自己不小心把Ununtu系统搞崩了,只好重装Ununtu系统,写一篇博客记录一下高翔视觉SLAM十四讲(第二版)各种库的安装以及报错解决方法。本篇博客写于2022年4月7日,安装顺序按照在书中出现的顺序。下面每个库都会介绍在书中出现的地方,以及库的来源。下面安装的依赖项,如果书上有都是来源于书上,如果书上版本低了,则做出了相应的改动;如果书上没有则来自于其他博客。
Ununtu18.04
有些小型的库存放在 slambook2/3rdparty 文件夹中,源码下载地址,https://github.com/gaoxiang12/slambook2。注意,后面有个2才是第二版的源码,没有2的是第一版的源码。
打开终端输入
git clone http://github.com/gaoxiang12/slambook2
下载后可能发现 slambook2/3rdparty 中Pangolin、Sophus 等文件夹是空的
参考此篇博客
原来是书中高翔的3rdparty里的Pangolin等库就是链接的别人的库,在网页端能点开,但是下载的时候,由于这些库是链接的,所以没法正常下载。解决方法,手动点进去下载。例如:
出现在P9(第 1 讲 )
打开终端输入
sudo apt install vim
出现在P30(第 2 讲)
打开终端输入
sudo apt-get install g++
参考此篇博客
出现在P35(第 2 讲)
安装有两种方法
1.软件中心安装
打开 Ubuntu软件中心 -> 开发工具 -> 按照名称排序 -> KDevelop -> 安装
2.命令行安装
打开终端输入
sudo apt-get install kdevelop
不需要自己下载汉化包,Kdevelop安装后,打开终端输入
aptitude search kdevelop
可能会提示未安装 aptitude ,则自己安装一下,打开终端输入
sudo apt-get install aptitude
然后再次打开终端输入
aptitude search kdevelop
弹出如下内容
选择中间的 kdevelop-l10n 进行安装,在终端里输入
sudo apt-get install kdevelop-l10n
此时,启动软件就是汉化后的了
Eigen官方主页
出现在P47(第 3 讲)
打开终端输入
sudo apt-get install libeigen3-dev
出现在P66(第 3 讲)
slambook2/3rdparty 文件夹中 Pangolin 库安装失败(之前的安装命令错了导致安装失败,只用了 cmake .. )
参考此篇博客
1.安装git工具
sudo apt-get install git
2.安装依赖项
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev
sudo apt-get install libboost-thread-dev
sudo apt-get install libboost-filesystem-dev
3.下载源码
我下载到了 slambook2/3rdparty/ 文件夹下
切换到 slambook2/3rdparty/ 文件夹下,打开终端输入
git clone https://github.com/stevenlovegrove/Pangolin.git
(从源码下载安装,给后续调试 ORB-SLAM2 挖了一个坑,源码下载的 pangolin 版本为0.6,而调试 ORB-SLAM2 pangolin 版本要求为0.5)
3.切换到 slambook2/3rdparty 文件夹下
4.编译安装
cd Pangolin
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j4
sudo make install
Sophus in github
出现在P87(第 4 讲)
切换到 slambook2/3rdparty/Sophus 文件夹下,打开终端输入
mkdir build && cd build
cmake ..
make
sudo make install
OpenCV官网
出现在P108(第 5 讲)
书上安装的3.1.0我安装失败了,安装的3.4.15版本。
打开终端输入
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libvtk6-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libjasper-dev
此处报错
errorE: unable to locate libjasper-dev
参考此篇博客
打开终端输入
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
成功的解决了问题,其中libjasper1是libjasper-dev的依赖包
下面继续安装依赖项,打开终端输入
sudo apt-get install libopenexr-dev
sudo apt-get install libtbb-dev
1.下载链接 https://opencv.org/releases/
我下载的是 OpenCV-3.4.15 ,点击 Sources 进行下载,得到 opencv-3.4.15.zip 压缩文件
2.解压
打开 opencv-3.4.15.zip 所在的文件夹,打开终端输入
unzip opencv-3.4.15.zip
解压成功得到 opencv-3.4.15 文件夹,将它放到合适的地方,我这里放在了 slambook2/3rdparty/ 下
3.编译 安装
cd opencv-3.4.15
mkdir build && cd build
cmake ..
make -j4
sudo make install
Ceres官网 Ceres in github
出现在P137(第 6 讲)
1.安装依赖项
打开终端输入
sudo apt-get install liblapack-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install libcxsparse3
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install libgtest-dev
2.编译 安装
切换到 slambook2/3rdparty/ceres-solver 文件夹下,打开终端输入
mkdir build && cd build
cmake ..
make -j4
sudo make install
G2O in github
出现在P142(第 6 讲)
1.安装依赖项
打开终端输入
sudo apt-get install qt5-qmake
sudo apt-get install qt5-default
sudo apt-get install libqglviewer-dev-qt5
sudo apt-get install libsuitesparse-dev
sudo apt-get install libcxsparse3
sudo apt-get install libcholmod3
2.编译 安装
切换到 slambook2/3rdparty/g2o 文件夹下,打开终端输入
mkdir build && cd build
cmake ..
make -j4
sudo make install
参考此篇博客
出现在P253(第 9 讲)
有两种安装方法
1.命令行安装
打开终端输入
sudo add-apt-repository ppa:zarquon42/meshlab
sudo apt-get install meshlab
2.软件中心安装
打开 Ubuntu软件中心 -> 图像与摄影 -> 按照名称排序 -> MeshLab -> 安装
出现在P293(第 11 讲)
切换到 slambook2/3rdparty/DBoW3 文件夹下,打开终端输入
mkdir build && cd build
cmake ..
make -j4
sudo make install
出现在P315(第 12 讲)
执行12.3实践报错
Failed to load module "canberra-gtk-module"
参考此篇博客
解决方法:安装一个依赖项
打开终端输入
sudo apt-get install libcanberra-gtk-module
PCL官网
出现在P331(第 12 讲)
打开终端输入
sudo apt-get install libpcl-dev
sudo apt-get install pcl-tools
出现在P338(第 12 讲)
打开终端输入
sudo apt-get install liboctomap-dev
sudo apt-get install octovis
在第 13 讲 实践:设计 SLAM 系统中还需要安装 gflags,glog,gtest 这3个包。参考此篇博客
采用源码安装的方式
1.下载源码
我将这个包下载到 slambook2/3rdparty/ 文件夹下
打开终端输入
git clone https://ghproxy.com/https://github.com/gflags/gflags.git gflags_stable
2.编译 安装
cd gflags_stable
mkdir build && cd build
cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC ..
注:之后使用了 cmake .. -DCMAKE_CXX_FLAGS=-fPIC 命令重装了此库
make
sudo make install
采用源码安装的方式
我将这个包下载到 slambook2/3rdparty/ 文件夹下
打开终端输入
git clone https://ghproxy.com/https://github.com/google/glog
sudo apt-get install autoconf automake libtool
cd glog
mkdir build && cd build
cmake ..
CMake 3.8 or higher is required. You are running version 3.5.1
需下载cmake更高版本进行安装,参考此篇博客
1.查看当前版本
打开终端输入
cmake --version
2.卸载cmake(安装ros时可跳过)
sudo apt remove cmake
注:在此步骤中,如果安装了ros系统,提示会卸载许多与ros相关的cmake文件,可能会导致ros无法使用,所以跳过此步。
3.下载cmake
下载更高版本cmake,cmake官网地址。 我下载的是 cmake-3.21.6.tar.gz 。(写此篇博客时 cmake-3.21.6.tar.gz 已经不在首页了)
4.安装cmake
(1)将 cmake-3.21.6.tar.gz 解压
在 cmake-3.21.6.tar.gz 文件夹下打开终端输入
tar -zxvf cmake-3.21.6.tar.gz
注:该命令为解压 .tar.gz 文件的命令,详见 这篇博客
我将解压后的 cmake-3.21.6 文件夹放到了 slambook2/3rdparty/ 文件夹下
(2)将原来版本的cmake执行文件删除
打开终端输入
cd /usr/bin/
sudo rm cmake
(3)安装 cmake-3.21.6
切换到 slambook2/3rdparty/cmake-3.21.6 文件夹下,打开终端输入
./configure
make
sudo make install
5.再次查看当前版本
打开终端输入
cmake --version
安装成功
切换到 slambook2/3rdparty/glog/build 文件夹下 ,打开终端输入
cmake ..
make
sudo make install
切换到 slambook2/3rdparty/googletest 文件夹下 ,打开终端输入
mkdir build && cd build
cmake ..
make
sudo make install