Ubuntu18.04下安装 Sophus李代数库

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})

需要注意:slam十四讲中编写程序是用模板类sophus库,而我下载的高翔的GitHub上压缩包是非模板类的sophus库,不知道大家是不是都这样,因此下载完库,需要对程序加以修改,将se3.hpp修改为se3.h,SE3d修改为SE3,这样程序就可以顺利通过编译.

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值