前言
默认已经进入ubantu18.04界面,之前的怎么下载VM怎么从光盘文件安装18.04步骤就不再赘述了,主要是之前按照其他的博客安装时时常会出现一点问题,然后来网上各种缝缝补补。以下是所有步骤。
1.自适应屏幕+复制粘贴
这一部分主要是为了方便看屏幕和粘贴的工具性安装,可以通过虚拟机界面安装vmtools,也可以按一下步骤:
先删掉之前安装的(刚打开肯定没有的,这一步可以略去)
sudo apt-get autoremove open-vm-tools
安装tools
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop
然后重启就可以了,直接关掉就行。
2.安装git ,Vim,g++和cmake3.30.4
这里cmake最好安装较新的版本,因为直接apt的话可能是3.10.x但是后面随版本更新装Pangolin时又需要3.24.x以上(反正装最近的就行)
还是先公式安装git,vim,g++吧
sudo apt-get install git
sudo apt install vim
sudo apt-get install g++
现在开始装cmake
去cmake3.30.4(当然你也可以自己调整到合适版本)官网下载地址下载并解压到slam文件夹的三方文件夹下(装其他地方也可以,这里主要方便管理)
下载依赖不然报错
sudo apt-get install libssl-dev
开始编译(如果没有./configure,就./bootstrap)
./configure
make
sudo make install
有时候为了快一点可以,但还是看你配置决定,太高在编译时万一配置不行就杀死进程了。
make -j2
make -j4
make -j6
3.slambook2源码下载
git clone --recursive http://github.com/gaoxiang12/slambook2
一定要加 --recursive,不然下出来的3rdparty里的文件夹全是空的(这时候就从github的slambook2的3rdparty文件夹内链接里相应位置一个一个找到链接点进去,到相应库位置下载下来替换)
4.Eigen
事先说明这个库会装两个版本,由于我也不知道的原因,截至2024年9月Pangolin等库要求更加新的eigen3.4版本,但是,后面的ceres库又要求与前些库冲突的低级的eigen3.2版本。有些博客说使用默认sudo apt-get install libeigen3-dev安装eigen的版本是3.2.x,但是现在已经是默认3.3了,所以在看到这篇文章的时候记得关注各个包的版本依赖问题!
完了之后呢解压文件然后进去这个eigen文件,在里面:
mkdir build && cd build
cmake ..
make
sudo make install
为后期方便使用,建议将eigen3文件夹复制到/usr/include/目录下(运行之前你可以去对应位置看看有没有eigen3)
sudo cp -r /usr/local/include/eigen3 /usr/include/
5.fmt
这个是Sophus安装要装的
下载解压
fmt地址(记得按你现在的时间选择版本)
编译四步走哇~
mkdir build && cd build
cmake ..
make
sudo make install
6.Sophus
这个在装书的源代码是应该是下好了,如果你没有,看看4和5步骤,仿照下一个,版本的话就从slambook2源码3rdparty/Sophus下的链接进去下就可以。
总之你现在有这个文件夹了(并且里面还有cmakelist.txt文件)开始编译四步
mkdir build && cd build
cmake ..
make
sudo make install
安装完成后,可以在目录/usr/local/include/中查看是否生成sophus文件夹
7.Pangoiln
先装依赖
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev libgl1-mesa-dev libglfw3-dev libglew-dev libepoxy-dev
到文件夹下
mkdir build && cd build
cmake ..
这一步如果报错“ cannot import name ‘sysconfig’ ”
看这里解决
make
sudo make install
8.OPENCV 3.4.15
先装依赖
sudo apt-get install build-essential libgtk2.0-dev libvtk6-dev libjpeg-dev libtiff5-dev libopenexr-dev libtbb-dev
然后还是从opencv官网(往下滑到底)下载,解压,进入文件夹
mkdir build && cd build
cmake ..
make
sudo make install
如果出现什么“Set non-toolchain portion of runtime path of “/usr/local/bin/opencv_version” to "/usr/local/lib”先别管,反正我没管之后也能运行,有懂的可以评论区说下。
9.ceres
先装依赖
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
sudo apt-get install libatlas-base-dev
到ceres文件夹,编译四步
mkdir build && cd build
cmake ..
make
如果这一步make到schur消元时退出进程啥的。
一个可能的原因是eigen3.4不适配,请参考下面的链接解决
添加链接描述
sudo make install
10.g2o
依赖
sudo apt-get install qt5-qmake qt5-default libqglviewer-dev-qt5 libsuitesparse-dev libcxsparse3 libcholmod3 qtbase5-dev qtchooser qtbase5-dev-tools
进文件夹编译四步
mkdir build && cd build
cmake ..
make
如果这里有报错“没有filesystem”之类的,可能是因为cmakelist文件里面的C++标准是11,改成17试试,这问题碰到的时候忘记笔记了。。。。之后记起来再更新一下,或者可以在评论区补充。
sudo make install
11.DBoW
没啥好说的,找到文件夹编译四步,没有的话自己下下来吧
最后要加个依赖
mkdir build && cd build
cmake ..
make
sudo make install
sudo apt-get install libcanberra-gtk-module
12.PCL和OCTOMAP
sudo apt-get install libpcl-dev pcl-tools liboctomap-dev octovis
13.gflags,glog,gtest
先下包(如果没有的话),记得mkdir那一步是解压文件夹进入后的步骤啊。。。
gflas
git clone https://github.com/gflags/gflags.git gflags_stable
mkdir build && cd build
cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC ..
make
sudo make install
glog
git clone https://ghproxy.com/https://github.com/google/glog
进入文件夹
sudo apt-get install autoconf automake libtool
mkdir build && cd build
cmake ..
make
sudo make install
gtest
找到文件夹(这个应该直接有)进入
mkdir build && cd build
cmake ..
make
sudo make install
结语
ok结束,可能尚有遗漏的地方,望海涵,谢谢你们过来看!!!
标签:ubantu18.04,make,sudo,dev,apt,SLAM,build,install,十四 From: https://blog.csdn.net/qq_53736794/article/details/142862241