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
ubuntu从零到一跑通ORB_SLAM2及其ORBSLAM2_with_pointcloud稠密建图