SLAM十四讲 安装 Eigen3 + Palingo 第3讲实验踩坑记录

SLAM十四讲源码中,使用了多个第三方的库,由于第三方库都是有相应的版权,因此需要逐个的去相应的官网下载源码安装

1、安装eigen3

eigen3这个比较特殊,可以直接用命令安装

sudo apt-get install libeigen3-dev

2、安装Pangolin

由于github主站比较慢,因此推荐使用镜像站:https://hub.fastgit.org/gaoxiang12/slambook2/

2.1 下载源代码:

git clone https://hub.fastgit.org/stevenlovegrove/Pangolin.git

2.2 安装依赖

下载完之后,需要安装一些依赖,比如cmake,g++,libglew等

sudo apt-get install g++
sudo apt-get install cmake
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

2.3 编译安装

进入源码目录

cd Pangolin 
mkdir build
cd build
cmake ..
make -j2
sudo make install 

安装完毕,这个时候执行第3讲的代码会报这个错:
error while loading shared libraries: libpango_windowing.so: cannot open shared object file: No such file or directory
说是少了“libpango_windowing.so”文件,查看安装过程,发现其实这个文件已经安装到了系统里面,如下图:
在这里插入图片描述
网上搜索,发现是没有执行 sudo ldconfig,用于刷新共享库的原因。
执行命令:

sudo ldconfig

执行后,代码可以正常执行。

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表

参考文档:
https://blog.csdn.net/qq_49331639/article/details/115024110
https://blog.csdn.net/chenzz444/article/details/120444509