《视觉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})