视觉SLAM14讲第二版ch4代码演示

环境:ubuntu20.04 双系统
决定像书上一样使用KDevelop来运行代码。(好处是可以直接运行现有的程序)

第一步下载安装Sophus

这里在下载安装Sophus前,必须得先安装好Eigen库,因为它们是相互关联的。(这里安装Eigen库可以看我的ch2与ch3代码演示)然后我们开始安装Sophus

方法一不推荐

注意,在一些文章里,他们要求的是先安装了fmt库,然后再安装Sophus库,但是在这里最后编译的时候会遇到很多问题,我们会发现是fmt库的版本与Sophus不匹配(这里得安装最少fmt-8.1.1)然后再安装Sophus库git clone https://github.com/strasdat/Sophus.git(注意这里与书上的地址不一样)不建议这样安装。

我们发现,两者Sophus库文件的网站链接和文件夹内的内容都不一样。但是按照高翔老师的链接下载的Sophus可以成功编译(方法二),而另外一个可能还需要先安装fmt(有可能还需要8.1.1版本的)

方法二推荐

我们直接按照书上的进行安装,这样就可以不需要下载fmt库了(其实是只需要编译,无需安装,第二版书上写的) 但前提是你下载的代码文件3rdparty里面有文件
在这里插入图片描述

同时还得注意在下载完整本代码时候会发现高翔老师的文件3rdparty里面的文件是空的,这里需要我们单独下载下来(地址最后不要改变,不要自己去其他地址下载,就在这里下载,因为这些库的版本都是匹配的)git clone https://github.com/gaoxiang12/slambook2
如何一个一个单独下载,ch2与ch3
在这里面第二步有方法。

在这里插入图片描述
然后我们开始直接编译

cd Sophus
mkdir build
cd build
cmake ../ -DUSE_BASIC_LOGGING=ON
make
sudo make install

结果发现编译的hpp文件中还是存在个别文件用到了fmt库(trajectoryError.cpp),我们在include前添加#define SOPHUS_USE_BASIC_LOGGING注意必需是include前,否则还是依赖于fmt库。
在这里插入图片描述
编译后依然出现找不到文件错误:(文件地址的问题)

trajectory ./example/groundtruth.txt not found.
trajectory ./example/estimated.txt not found.

我们选择改为相对地址:

string groundtruth_file = "../../example/groundtruth.txt";
string estimated_file = "../../example/estimated.txt";

结果:
在这里插入图片描述

第二步编译演示

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值