【SLAM 踩坑记录】Ubuntu20.04编译安装视觉SLAM十四讲用到的几个库时走过的坑

本文记录了在Ubuntu20.04上编译安装视觉SLAM相关库Eigen3、Pangolin、Sophus和OpenCV时遇到的问题及解决方案。在安装过程中,遇到了路径错误、头文件找不到等问题,通过修改代码、选择稳定版本和正确配置编译选项逐一解决。文章强调了部分库需要安装到系统路径,而有些只需编译使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装Eigen3

由于我之前安装过Eigen,所以这里就不介绍是怎么安装的了。

Eigen的安装路径为:/usr/include/eigen3/

安装Pangolin

下载安装Pangolin时,我并没有按照书上的做法从slambook2/3rdpart/Pangolin安装,而是参照Github官网https://github.com/stevenlovegrove/Pangolin的教程:因为直接git clone下载的文件夹是一直在更新的master分支,有可能存在不稳定的测试特性,
请添加图片描述
所以我选择下载一个稳定的发布版v0.6的压缩包解压后再:

cd ~/gh-zhuoqun-chen/Pangolin-0.6
mkdir build
cd build
cmake ..
make 
sudo make install 

这样就安装好Pangolin了。

测试slambook2/ch3/examples/plotTrajectory.cpp时,发现make编译不成功,原因是中间的一行代码有问题:

string trajectory_file = "./examples/trajectory.txt";

这个相对路径报错,改为绝对路径后编译就可以正常运行了。

string trajectory_file = "/home/zqchen/Desktop/slambook2/ch3/examples/trajectory.txt";

安装Sophus

github.com/strasdat/Sophus上直接下载最新的主分支,我是下载的zip压缩包,此时主分支最新的合并后的版本号是49a7e12。把Sophus-master.zip解压后得到Sophus-master文件夹。在该文件夹中新建build文件夹,cd buildcmake ..make。按照书上书上P87页和P89页的说法,

Sophus库只需编译即可,无须安装。# P87
基于模板的Sophus库和Eigen一样,是仅含头文件而没有源文件的。# P89

接下来我没有执行sudo make install便去测试,我按照书上slambook2/ch5/CMakeLists.txt来编译,会发现make不通过,报错为:fatal error: sophus/se3.hpp: 没有那个文件或目录。此时可以分析一下原因。

slambook2/ch5/CMakeLists.txt的内容有这样一句:

add_subdirectory(rgbd)

说明会进一步执行slambook2/ch5/rgbd/CMakeLists.txt,而这个里面有这样两句:

find_package(
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值