1、在编译ORB-SLAM3的时候出现报错EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80;
问题描述:
问题分析:
由于eigen的版本过高所导致的,因此需要卸载当前的eigen版本,选择eigen3.2.1版本进行更替。
解决方案:
1、先卸载原来的eigen
sudo rm -rf /usr/local/include/eigen3
2、将下载的eigen 3.2.1解压之后打开终端
mkdir build
cd build
sudo make install
3、进入原来的Pangolin目录下(这里是需要我们重新编译Pangolin、g2o、)
sudo rm -rf ./build
mkdir build
cd build
cmake ..
sudo make install
4、进入ORB_SLAM3的文件夹将build文件夹和ORB-SLAM3/Thirdparty/DBoW2/build
以及ORB-SLAM3/Thirdparty/g2o/build
这3个build
文件夹都删掉,然后进行重新编译,此时问题得到解决。
2、ORB-SLAM3编译问题 recipe for target ‘CMakeFiles/ORB_SLAM3.dir/src/LocalMapping.cc.o‘ failed
编译 ORBSLAM3 时遇到的报错
解决方案:
添加以下代码到ORB_SLAM3/include/CameraModels/KannalaBrandt8.h
namespace cv
{
template<typename _Tp, int m, int n> static inline Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n>& a, float alpha)
{
return Matx<_Tp, m, n>(a, 1.f / alpha, Matx_ScaleOp());
}
}
如图:
依然报错,未解决!