基于最新版本的sohus安装:容易出现由于依赖包版本而引起的问题,此类问题可如下解决:
可以直接进https://github.com/strasdat/Sophus.git下的issue下查看是否类似问题。
编译Sophus 时遇到 test_ceres_se3的一些未定义的问题,是由于依赖包版本不同引起的。
可以在Sophus源码主目录下script/install_linux_deps.sh中查看依赖包版本,如ceres版本。
将ceres切换到指定的版本重新编译安装ceres后,在重新编译Sophus。
编译a621ff 版本的sohus,会出现:
/home/drew/svo/workspace/Sophus/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignment
unit_complex_.real() = 1.;
^~
/home/drew/svo/workspace/Sophus/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignment
unit_complex_.imag() = 0.;
将报错的两行改成:
unit_complex_.real(1.);
unit_complex_.imag(0.);