程序运行问题总结"/>
高翔slam十四讲程序运行问题总结
本文是基于Ubuntu18.04进行的库文件安装,对应高翔老师视觉SLAM十四讲的第二版书籍。
一、eigen库安装:sudo apt-get install libeigen3-dev
二、Pangolin库安装:
(1)下载Pangolin库:github链接:git clone .git 下载速度比较慢,建议通过github镜像完成下载。
(2)安装依赖
sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libpng-dev libtiff5-dev libopenexr-dev
如果安装此依赖出现ibcudnn.so.7 is not a symbolic link错误,参照此处:链接
(3)编译库文件
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
sudo make install
(4)若运行程序时出现以下错误:
error while loading shared libraries: libpango_core.so: cannot open shared object file: No such file or directory
则是由于Pangolin刚安装,没有生效,在build目录下运行如下指令使得其生效即可:
sudo ldconfig
三、Sophus库安装
下载地址:GitHub - strasdat/Sophus at 13fb3288311485dc94e3226b69c9b59cd06ff94e
编译安装步骤:
$ cd Sophus
$ mkdir build
$ cd build
$ cmake ..
$ make -j8
$ sudo make install
四、opencv3.4.3库安装
0 参考链接:参考链接
1 安装包下载
选择sourcecode.zip下载opencv3.4.3
克隆下载软件包opencv3.4.3_contrib
2 安装过程
2 .1 安装依赖包
$ sudo apt-get install build-essential cmake git pkg-config
$ sudo apt-get install libjpeg8-dev
$ sudo apt-get install libtiff5-dev
$ sudo apt-get install libjasper-dev //如果此处报错,参考以下链接
$ sudo apt-get install libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libgtk2.0-dev
$ sudo apt-get install libatlas-base-dev gfortran
$ sudo apt-get install python-dev python3-dev
如果安装依赖包libjasper-dev过程中出现错误,参考以下链接错误解决方法
2.2 解压opencv-3.4.3和opencv_contrib-3.4.3压缩包并进入opencv-3.4.3文件夹。并在opencv-3.4.3文件夹里新建一个文件夹,命名release,用来存放cmake编译时产生的临时文件。进入release
$ unzip opencv-3.4.3.zip
$ cd opencv-3.4.3
$ mkdir release
$ cd release
2.3 设置cmake编译参数,安装目录默认为/usr/local ,注意参数名、等号和参数值之间不能有空格,但每行末尾“\”之前有空格,参数值最后是两个英文的点(注意!如果在root用户下执行cmake命令,请将OPENCV_EXTRA_MODULES_PATH的值改为绝对路径,如:/home/ubuntu/opencv_contrib-3.4.3/modules):
sudo cmake
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.3/modules \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D OPENCV_ENABLE_NONFREE:BOOL=ON \
-D BUILD_opencv_world:BOOL=ON \
-D BUILD_EXAMPLES=ON ..
2.4 在release文件夹中执行,编译,以管理员身份,否则容易出错
sudo make -j12 //以12线程编译 具体数字看电脑线程最高配置,一般4,8,12
2.5 编译完成后安装
sudo make install
2.6 更新动态链接库
$ sudo ldconfig
3 配置环境变量
将OPenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf //这里用的gedit图形界面编译器
执行此命令后打开的可能是一个空白文档,并更新动态链接库
$ /usr/local/lib
配置bash
$ sudo gedit /etc/bash.bashrc
在文件最后换行添加以下命令
$ PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ export PKG_CONFIG_PATH
保存,执行以下使得配置生效
$ source /etc/bash.bashrc
最后更新
$ sudo updatedb
注意:如果编译ch5时遇到boost/format.hpp: No such file or directory问题,解决办法如下:
sudo apt-get install libboost-all-dev
五、Ceres库安装
1 官方下载地址:ceres库github下载地址
2 安装所需依赖
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
可能会出现无法定位libcxsoarse3.1.2的问题,解决方法如下:
//第一步,打开sources.list
$ sudo gedit /etc/apt/sources.list
//第二步,将下面的源粘贴到最上方sources.list
$ deb trusty main universe
//第三步,更新源
$ sudo apt-get update
//第四步,重新输入依赖项安装命令安装依赖项
$ sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev
3 然后解压ceres,打开终端进入解压后的文件,编译安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j8 //可用nproc这个命令查看cpu核心数,我的cpu核心数是8
4 安装
$ sudo make install
六、g2o安装
1 官方github下载地址:g2o库github下载地址
2 安装依赖项
sudo apt-get install cmake libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev
3 编译库文件
mkidr build
cd build
cmake .. //很快
make -j8 //时间比较长 可以根据自己机器调节 通常为2 4 8 12
4 安装库文件
sudo make install
七、第九讲代码运行所遇问题
问题:slam14讲 第九讲代码运行报错: error while loading shared libraries: libg2o_core.so: cannot open shared object file: No such file or directory;
解决方法:在g2o的build文件夹目录环境下输入:
sudo ldconfig
八、DBoW3库安装
1 官方github下载链接:DBoW3库githuab链接
2 安装步骤
git clone .git #下载源文件
cd DBoW3 #进入源文件夹
mkdir build #新建一个编译目标文件夹
cd build #将build作为make工作路径
cmake -DUSE_CONTRIB=ON .. #编译上一级目录,如果您提前安装好了contrib_modules,则使用cmake选项-DUSE_CONTRIB=ON使能SURF,否则直接运行cmake ..
make -j4 #或者换为“-j8”甚至直接“make”,这取决于您的电脑的线程数量
sudo make install #安装DBoW3
3 CmakeLists.txt配置
set( DBoW3_INCLUDE_DIRS "/usr/local/include" )#在文件的前部插入
set( DBoW3_LIBS "/usr/local/lib/libDBoW3.so" )#在文件的前部插入
target_link_libraries( 可执行文件名 ${DBoW3_LIBS} )#在本文件中您的使用DBoW3库的程序出现的位置后方补充“${DBoW3_LIBS}”
九、PCL点云库安装
在ubuntu18.04中只需要一句指令:
sudo apt-get install libpcl-dev pcl-tools
十、Octomap库安装
sudo apt-get install liboctomap-dev octovis
更多推荐
高翔slam十四讲程序运行问题总结
发布评论