Ubuntu 16.04 编译ORB_SLAM2_modified问题汇总

Posted haijian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 16.04 编译ORB_SLAM2_modified问题汇总相关的知识,希望对你有一定的参考价值。

编译g2o_with_orbslam2

1.修改g2o/types/slam2d/edge_se2_pointxy_bearing.cpp

t.setRotation(t.rotation().angle()+_measurement);  --->>>  t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));

2.修改g2o/solvers/eigen/linear_solver_eigen.h

typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;  --->>>  typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::StorageIndex> PermutationMatrix;

(报错信息关键字:YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)

3.修改g2o/g2o/examples/tutorial_slam2d/simulator.cpp: 80行

VectorXd probLimits(MO_NUM_ELEMS);   --->>>   VectorXd probLimits;  probLimits.resize(MO_NUM_ELEMS);

(报错信息关键字:FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED)

 

编译ORB_SLAM2_modified

1.编译DBoW2

cd ~/ORB_SLAM2_modified/Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8

2.编译ORB_SLAM2_modified

cd ~/ORB_SLAM2_modified
mkdir build cd build cmake ..
-DCMAKE_BUILD_TYPE=Release make -j8

 

编译遇到的错误

1.遇到:*** No rule to make target ‘/usr/lib/x86_64-linux-gnu/libproj.so‘, needed by ‘../lib/libORB_SLAM2.so‘。 停止。

解决办法:

sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so

2.遇到:/usr/bin/ld: 找不到 -lvtkproj4

解决办法:

sudo apt-get install libproj-dev

 

以上是关于Ubuntu 16.04 编译ORB_SLAM2_modified问题汇总的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 16.04 ORB_SLAM2+ROS+usb_cam+AR

基于Ubuntu 16.04,手持Kinect v2,实时跑通ORB_SLAM2

Ubuntu16.04下编译安装及运行单目ORBSLAM2

ubuntu从零到一跑通ORB_SLAM2及其ORBSLAM2_with_pointcloud稠密建图

[Android 编译] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

Ubuntu16.04下的modules模块编译加载