注:在安装Sophus之前必须先安装eigen。
1.安装
(1).下载Sophus安装包
git clone https://github.com/strasdat/Sophus.git
(2).进入Sophus文件夹
cd [path-to-Sophus]
(3).创建编译文件夹build
mkdir build
(4).进入build
cd build
(5).camke-make编译
cmake ..
make
(6).到这里没问题的话就直接安装
sudo make install
2.make报错
在cmake-make编译过程中,出现如下错误:
/home/xxx/Sophus/sophus/so2.cpp: In constructor ‘Sophus::SO2::SO2()’:
/home/xxx/Sophus/sophus/so2.cpp:32:29: error: lvalue required as left operand of assignment
32 | unit_complex_.real() = (1.);
| ^
/home/xxx/Sophus/sophus/so2.cpp:33:29: error: lvalue required as left operand of assignment
33 | unit_complex_.imag() = (0.);
| ^
make[2]: *** [CMakeFiles/Sophus.dir/build.make:66:CMakeFiles/Sophus.dir/sophus/so2.cpp.o] 错误 1
make[2]: 离开目录“/home/xxx/Sophus/build”
make[1]: *** [CMakeFiles/Makefile2:91:CMakeFiles/Sophus.dir/all] 错误 2
make[1]: 离开目录“/home/xxx/Sophus/build”
make: *** [Makefile:144:all] 错误 2
解决方法:打开 Sophus/sophus/so2.cpp文件修改报错内容
//将
SO2::SO2()
{
unit_complex_.real() = 1.;
unit_complex_.imag() = 0.;
}
//改为
SO2::SO2()
{
unit_complex_.real(1.);
unit_complex_.imag(0.);
}
然后重新cmake-make编译、安装,问题解决。
参考: