之前按照十四讲中方法安装,但是/usr/include/下无pcl-1.7文件,不知道是自己操作失败还是什么原因,因此安装官方预编译版本
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-dev
安装后头文件在/usr/include/pcl-1.7中,库在/usr/lib/中,则安装成功。使用上面命令安装好pcl库后,发现pcl_viewer不能使用,因此继续安装:
sudo apt-get install pcl-tools
如果想要利用源码安装,网址:PCL历史版本下载
安装依赖:
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev cmake
下载编译安装:
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j7
sudo make install
直接编译安装:
cd Sophus
mkdir build
cd build
cmake ..
make -j7
sudo make install
安装依赖:
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.4 libgflags-dev libgoogle-glog-dev libgtest-dev
下载编译安装:
git clone https://github.com/hitcm/ceres-solver-1.11.0.git
cd ceres-solver-1.11.0
mkdir build
cd build
cmake ..
make -j7
sudo make install
大于3.2.8可能会有一些问题,这里我选择源码安装Eigen3.2.7,在Eigen源码库上选择自己需要的版本下载后解压并进入文件夹根目录下.
mkdir build
cd build
cmake ..
make
sudo make install
可用pkg-config --modversion eigen3查看eigen版本.
参考:opencv 2.4.9与opencv 3.1.0共存(cpu)
opencv 2.4.9与opencv 3.4.3共存(gpu)
sudo apt-get intall libsuitesparse-dev qtdeclarative5-dev qt5-default libqglviewer-dev libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.4 libcholmod3.0.6
#这里的g2o高博做了一些修改,与十四讲中不同
git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git
cd ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2
修改 g2o_with_orbslam2/CMakeLists.txt ,注释如下代码:
#shall we build the examples
#SET(G2O_BUILD_EXAMPLES ON CACHE BOOL “Build g2o examples”)
#IF(G2O_BUILD_EXAMPLES)
#MESSAGE(STATUS “Compiling g2o examples”)
#ENDIF(G2O_BUILD_EXAMPLES)
修改 g2o_with_orbslam2/g2o/CMakeLists.txt ,注释如下代码:
#Examples
#IF(G2O_BUILD_EXAMPLES)
#ADD_SUBDIRECTORY(examples)
#ENDIF(G2O_BUILD_EXAMPLES)
修改 g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp
将
t.setRotation(t.rotation().angle()+_measurement);
改为
t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j7
sudo make install
这里需要先将下载好的ORB_SLAM2_modified/Thirdparty/DBoW2文件中的build文件夹先删除.
cd ORB_SLAM2_modified/Thirdparty/DBoW2
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j7
编译成功后,会在/lib目录下生成 libDBoW2.so,将该库文件拷贝到系统目录下:
sudo cp ../lib/libDBoW2.so /usr/local/lib
这里可以修改一下CMakeLists.txt文件中的opencv版本,eigen版本不修改也无影响,然后还需要下载 ORBvoc.txt.tar.gz 并解压到ORB_SLAM2_modified/Vocabulary 目录下,最后编译程序,并根据ORB-SLAM2官网提供命令运行数据集
cd ORB_SLAM2_modified
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j7
最后编译程序阶段出现问题:
No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so
解决方法:
在/usr/lib/x86_64-linux-gnu中搜索如果有libproj.so.9,则执行
sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so
若没有,则安装
sudo apt-get install libproj-dev
问题即可解决
又出现:
/usr/bin/ld: cannot find -lvtkproj4
解决方法:
sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
参考:https://blog.csdn.net/qq_25349629/article/details/88350374
https://blog.csdn.net/Xuesengxinyi/article/details/93469079
https://blog.csdn.net/ABC_ORANGE/article/details/81669847
https://blog.csdn.net/AmbitiousRuralDog/article/details/93176165