《视觉SLAM14讲》中第4章李群和李代数需要用到Sophus库,而且高博推荐非模板版本。
博主在一年前已经安装过并实践过,最近需要重新安装,所以记录一下。

1、下载源代码

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff

在这里插入图片描述

2、cmake分析工程

mkdir build
cd build
cmake ..

3、make编译工程

这里我1%都没有就出现了报错,查看信息发现是eigen库的问题,修改CMakeLists.txt,直接包含eigen库的绝对路径。

#find_package( Eigen3 REQUIRED )
#INCLUDE_DIRECTORIES( ${EIGEN3_INCLUDE_DIR} )
include_directories( "/usr/include/eigen3" )

重新cmake ..make,出现cpp的报错。

在这里插入图片描述切换目录到sophus目录下,然后在gedit中打开。

cd Sophus/sophus/
gedit so2.cpp

然后注释第一个SO2::SO2()的两行代码。
在这里插入图片描述

再次回到build下编译,编译成功。

cd ../build
make

在这里插入图片描述

4、安装

为了方便代码的调用,建议安装。输入sudo make install即可安装成功。头文件在/usr/local/include下,库文件在/usr/local/lib下。
在这里插入图片描述

5、CMakeLists.txt格式

cmake_minimum_required(VERSION 2.8)

project(useSophus)

add_executable(useSophus useSophus.cpp)

find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})

target_link_libraries(useSophus ${Sophus_LIBRARIES})
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐