首先遇到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库,同样地做了上面三步内容,也顺利编译通过。