在虚拟机上用Ubuntu 20.04 编译orb-slam3 遇到问题
是按照下面的顺序编译,在最后一步make出错,前面都好好的
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
cd ../../g2o
echo "Configuring and building Thirdparty/g2o ..."
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
cd ../../Sophus
echo "Configuring and building Thirdparty/Sophus ..."
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
cd ../../../
echo "Uncompress vocabulary ..."
cd Vocabulary
tar -xf ORBvoc.txt.tar.gz
cd ..
echo "Configuring and building ORB_SLAM3 ..."
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
找了一圈,没有找到一样的错误?
这个要怎么解决啊?
没有. configure进行配置???
根据提供的参考资料中的段落7,问题可能是在编译ORB_SLAM3时出现了错误。具体来说,错误是在LocalMapping.cc文件的第628行,存在一个无法匹配的操作符'/'。一个可能的解决方法是修改该行代码。
x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
替换为:
x3D = cv::Matx31f(x3D_h.get_minor<3,1>(0,0)(0) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(1) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(2) / x3D_h(3));
如果以上解决方法不能解决问题,请提供更多详细信息,例如完整的错误信息和编译环境等。