简单而基础的博客。(菜鸟境内,大佬绕行ヾ(๑╹◡╹)ノ")
目录
首先安装git
sudo apt-get install git
编译器安装gcc7和g++7
版本重要但是也没那么重要,因为这个的版本很好改,你下好对应版本的编译器后,直接去手动更改编译器版本就行,网上大把教程。
sudo apt-get install gcc-7
sudo apt-get install g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --config g++
这里讲个快捷键,当时我学的时候没有教程讲,估计是因为太基础大家都默认知道。在终端里面快捷键粘贴是Ctrl+shift+V。我当时傻乎乎的一直用鼠标复制粘贴。
前面两句话的意思是添加源更新软件目录,如果你报错的话,直接进行下面的操作也行,反正大部分Ubuntu应该都有安装gcc和g++的源,在你安装Ubuntu的时候应该就会有人提醒你换国内源。
然后查看一下版本对不对就知道是否安装成功。
gcc --version
g++ --version
安装CMake
Ubuntu下的CMake下载还是很友好的,直接终端输入命令就行,不像Windows好麻烦的。
sudo apt-get install cmake
安装IDE:kdevelop
这个IDE有点小麻烦,安装的时候可能会出一些bug,后续的使用也是。
sudo apt-get install kdevelop
kdevelop也是高翔博士的《SLAM十四讲》里面使用的IDE,其实这个系列安装完虚拟机Ubuntu之后应该先去讲《SLAM十四讲》的,但是那个高翔博士自己拍的视频是好久之前的了,新的书也是19年就出了,各种库都和现在的不一样了,总之就是各种bug各种麻烦,所以就先跳过了,但是如果是初学者还是要先看《SLAM十四讲》比较好。
我的kdevelop是汉化了的,虽然大佬说尽量不要汉化,但是汉化了还是会便利不少的。嘛~主要是下载下来它自己就是汉化的,如果没有汉化也不要紧,锻炼英语能力嘛~(^_−)☆
好了,以上是可以直接在终端安装的东西,接下来的不是说不能在终端安装,而是终端只会给你安装最新的,但是不管是《SLAM十四讲》还是ORB_SLAM2所依赖的库都是老版本,所以建议自己去官网下载对应版本的库然后通过代码编译安装
Ubuntu20.04我成功的版本是Eigen3.1.0+pangolin0.6
好吧,按照完美情况应该是直接安装Eigen3.1.0的,但是,PCL可以安装的版本似乎都有点嫌弃这个低版本的Eigen,我只好举起双手投降┗( ´・∧・`)┛。那就只能先安装高版本的Eigen把PCL糊弄过去再说了。之后再更换版本吧。当然换了版本应该会影响到PCL,这个那就没办法了,毕竟我需要做的部分换版本后也没出问题。
Eigen3.3.7安装
这个是Eigen下载的网址http://eigen.tuxfamily.org/index.php?title=Main_Page
在上面找到你想安装的版本下载
下载完毕后解压,进入解压后的文件夹在终端打开。
mkdir build && cd build
cmake ..
sudo make install
Eigen3.1.0安装
解压相应的压缩包,然后进入解压后的文件夹,在终端打开。
mkdir build && cd build
cmake ..
sudo make install
学过C++的都知道“&&”就是“and”的意思,第一段命令的意思就是创建文件夹并进入。
执行完这些之后,Eigen3.1.0就已经安装好了。它的头文件在/usr/local/include/eigen3/
但是大部分代码包含头文件都是直接#include <Eigen/XXX>所以最好把这个Eigen复制到include文件夹下,当然,如果你乐意每次使用到Eigen的时候在前面写一句#include <eigen3/Eigen/XXX>也没问题。
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
然后可以使用pkg-config --modversion eigen3来查看一下Eigen的版本。
OpenCV3.4.1安装
其实OpenCV的安装很简单,版本的话也没什么要求大于2.4.3就好,因为这个更改ORB_SLAM2的OpenCV版本要求很简单,你只需要在每个CMakeLists.txt里面find_package (OpenCV)的时候,把版本号从3.0改到4.0就行,不过我的话也不一定正确,因为我也就安装过3.4.1和4.5.5。为了保险还是认真选一下版本吧。
老样子,去OpenCV官网下载你想要的版本https://opencv.org/releases/
然后下载一下OpenCV的依赖项
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
然后把刚刚下载的文件解压,进入到解压后的文件夹,在终端打开
mkdir build && cd build
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install
make -j8代表同时运行8个线程进行make一般来说,这个数字是处理器的2倍。
在make的时候会出现一些werror的东西,我也不知道那是啥,但是没有影响,这个耗时蛮久,你可以去“欢迎来到wzny”一把,只要你记得回来就成。zhsxg就算了,用不了那么久。(看不懂?看不懂就对了,万一老师翻到我的博客咋办?00后的默契。o( ̄▽ ̄)d 。现在知道为什么说它耗时久了吧,要是耗时不久,我搁这逼逼叨叨个啥)
再就是make很吃运行内存,我以前用虚拟机make就经常卡死。
经过漫长的等待,make结束,然后进行安装
sudo make install
然后配置一下环境
用gedit打开/etc/ld.so.conf
在文件中加上一行 /usr/loacal/lib
运行sudo ldconfig
修改bash.bashrc文件
sudo gedit /etc/bash.bashrc
在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
然后在命令行中输入source /etc/bash.bashrc
然后使用pkg-config --modversion opencv查看一下版本号,就能确定OpenCV是不是安装好了。
Sophus安装
因为Eigen我们使用的是Eigen3.4.1,所以Sophus也不能是高版本的,我选择的是高翔老师《SLAM十四讲》提供的Sophus版本,具体多少我也不知道,你们可以自己去高翔老师的GitHub上找。
为什么我这里不给链接?因为我也没找到单独Sophus的下载链接,我是直接下载的高翔老师《SLAM十四讲》的所有代码,Sophus库在文件夹3rdparty里面。
这是整本书的链接https://github.com/gaoxiang12/slambook2
下载完毕后就解压,然后进入解压后的文件夹,在终端打开。
mkdir build
cd build
cmake ..
make -j8
sudo make install
Sophus是一个基于Eigen的库,基本上只有Eigen不出问题Sophus也不会出问题(反正我是没遇见过。)
安装PCL库
首先安装一些依赖项
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk6.3-qt libvtk6.3 libvtk6-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre
sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev
好的~依赖项都已经安装完毕了,挑选一个你喜欢的文件夹从GitHub上gitPCL的库
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install
如果在CMake过程报错No CMAKE_CUDA_COMPILER could be found.的话,就先运行下面这句话
export PATH=/usr/local/cuda/bin:$PATH
good,因为jetson板子的运行内存不够所以一直卡死,在增加虚拟内存后解决了该问题。不过该博客主要是虚拟机上的,就不做详细说明了。有兴趣的可以自己去查一下。
Ceres安装
首先安装一下依赖项
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev
sudo apt-get install libgoogle-glog-dev libgtest-dev
挑选一个喜欢的文件夹,从GitHub上git下来Ceres的库,然后编译安装
git clone https://github.com/ceres-solver/ceres-solver
mkdir build
cd build
cmake ..
make -j
sudo make install
g2o安装
g2o的安装也需要先安装一下依赖项,虽然有不少依赖项我们之前其实已经反复安装过了,但是为了避免遗漏,多安装几次也没什么,反正他也不会安装多次。
sudo apt-get install libeigen3-dev libsuitesparse-dev qtdeclarative5-dev
sudo apt-get install qt4-dev
sudo apt-get install qt4-qmake libcxsparse3.1.2 libcholmod-dev
sudo apt-get install libqglviewer-dev
然后git文件,编译安装
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build
cd build
cmake ..
sudo make install
如果说在安装依赖项的时候发现有些包你找不到,可以去这个网站上看一下你对应的Ubuntu版本还在维护的软件包名字https://packages.ubuntu.com/focal/libcxsparse3
Pangolin0.6安装
之后可能会重新安装一下
首先安装一些依赖项
sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
从这个链接里面下载Pangolin0.6https://codeload.github.com/stevenlovegrove/Pangolin/zip/refs/tags/v0.6
然后编译安装
mkdir build && cd build
cmake ..
sudo make -j2
sudo make install
glfw3安装
首先安装一些依赖项
sudo apt-get install libxcursor-dev
sudo apt-get build-dep glfw
sudo apt-get install cmake xorg-dev libglu1-mesa-dev
去官网下载相应版本https://github.com/glfw/glfw
我安装的是3.3.7的
解压>>打开终端>>创建文件夹>>进入文件夹>>编译>>安装
mkdir build
cd build
cmake ..
sudo make install
DBoW3安装
从GitHub克隆安装,或者自己去GitHub下载安装
git clone https://github.com/rmsalinas/DBow3
cd DBow3
mkdir build
cd build
cmake ..
sudo make install
Octomap安装
啊~终于要结束了
安装一些依赖项
sudo apt-get install build-essential cmake doxygen libqt4-dev \
libqt4-opengl-dev libqglviewer-dev-qt4
git源码,然后安装
git clone https://github.com/OctoMap/octomap
mkdir build
cd build
cmake ..
make
OK~大概的环境配置就这么多了,啊~·真是累死了,下一个博客讲ROS的安装吧。或者直接去做ORBSLAM2?