Ubuntu18.04下安装 Sophus李代数库
首先安装Sophus库,首先说明一下,我安装的是非模板类,非模板类相对模板类更好上手,且我下载的slam十四讲的作者提供的sophus库压缩包也是非模板类。
一、下载
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
二、编译
mkdir build
cd build
cmake ..
make
这里make编译之后可能会报错,
高翔博士的《SLAM十四讲》中,在第四章中要求安装Sophus的非模板库,并且版本改为a621ff。下载完成后,在终端cmake …进行编译可以通过,但紧接着的make步骤就会卡在5%的位置,并报错:
我个人的解决方式是打开so2.cpp文件,将下面两行构造函数注释掉。
cd Sophus/sophus/
vim so2.cpp
SO2::SO2()
{
//unit_complex_.real() = 1.;
//unit_complex_.imag() = 0.;
}
注释掉上面两行之后就编译成功了。
三、安装(注意:这一步可选也可不选,如果安装就相当于把头文件放在了系统的include目录下,把库文件放在了lib目录下,后面操作会方便一些)
sudo make install
- 到这里安装就完成,下面是CMakeLists.txt的编写规范:
cmake_minimum_required(VERSION 2.8)
find_package(Sophus REQUIRED)
message(STATUS ${Sophus_LIBRARIES})
include_directories(${Sophus_INCLUDE_DIRS})
add_executable(Sophhus Sophus.cpp)
target_link_libraries(Sophus ${Sophus_LIBRARIES})