slam14讲,李代数库Sophus遇到的问题及解决办法

首先遇到sophus安装问题是在第4章时,高博虽然书上说“我们使用带模板的Sophus库”,但实际的代码使用的是非模板库。高博在git上给的sophus库文件我在make的时候报错,找不到解决办法,因此在别的地方下载了make可以通过的一个sophus库。原网址找不到了,我上传一份压缩包:

https://download.csdn.net/download/weixin_44986556/12965535

make完成之后,编译第4章的代码会发现一些错误,解决办法(感谢):

https://blog.csdn.net/zhangwenhou/article/details/108424248

一、修改包含的头文件名

#include "sophus/se3.hpp"

改为:

#include "sophus/so3.h"
#include "sophus/se3.h"

二、修改代码

把各个地方的:

Sophus::SO3d
Sophus::SE3d

的“d”都去掉,改为:

Sophus::SO3
Sophus::SE3

三、修改CMakelists.txt

将:

target_link_libraries(useSophus Sophus::Sophus) 

改成:

target_link_libraries( useSophus ${Sophus_LIBRARIES} )

到这里我已经能够编译通过了。

另外在第7.8中代码又用到了sophus库,同样地做了上面三步内容,也顺利编译通过。

猜你喜欢

转载自blog.csdn.net/weixin_44986556/article/details/109154373