编译运行ORB-SLAM2和ORB-Line-SLAM遇到问题总结
发布时间
阅读量:
阅读量
ORB-SLAM2
可作为参考资料使用的教程是ORB_SLAM2_detailed_comments项目。在开发过程中会遇到错误提示,在文章中有详细说明的问题。可供操作参考的博客是ORB_SLAM2–源码编译。
ORB_Line_SLAM 资料较少,测试发现其编译步骤与ORB_SLAM2相同,但是编译过程中遇到报错1:
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc: In member function ‘bool ORB_SLAM2::Tracking::TrackWithMotionModelWithLine()’:
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:1358:9: error: ‘random_device’ was not declared in this scope; did you mean ‘random_data’?
1358 | random_device rnd_dev;
| ^~~~~~~~~~~~~
| random_data
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:1359:9: error: ‘mt19937’ was not declared in this scope
1359 | mt19937 rnd(rnd_dev());
| ^~~~~~~
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:1364:50: error: ‘rnd’ was not declared in this scope; did you mean ‘rand’?
1364 | cv::Scalar color = Scalar(color_dist(rnd), color_dist(rnd), color_dist(rnd));
| ^~~
| rand
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:1397:9: error: ‘random_device’ was not declared in this scope; did you mean ‘random_data’?
1397 | random_device rnd_dev;
| ^~~~~~~~~~~~~
| random_data
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:1398:9: error: ‘mt19937’ was not declared in this scope
1398 | mt19937 rnd(rnd_dev());
| ^~~~~~~
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:1403:50: error: ‘rnd’ was not declared in this scope; did you mean ‘rand’?
1403 | cv::Scalar color = Scalar(color_dist(rnd), color_dist(rnd), color_dist(rnd));
| ^~~
| rand
cpp

报错2:
/home/xiujie/Downloads/ORB_Line_SLAM-master/src/Tracking.cc:2382:13: error: ‘usleep’ was not declared in this scope
2382 | usleep(3000);
为了解决问题1,请避免按照提示进行修改操作。参考该博客解决编译stvo-pl时遇到"random_device"未声明错误的方法,在出现错误时,在.h头文件中引入通用包含头文件。这样只需在遇到错误时,在对应的.h头文件中添加即可。
#include<bits/stdc++.h>
针对问题二(报错二),请参考官方文档编译 orbslam2 时出现的 error: 'usleep' was not declared in this scope, 即 usleep(3000),具体操作步骤包括:首先确定程序所在编译目录;然后在对应的头文件中添加 usleep函数声明并完成补丁应用;最后重新编译运行即可解决问题
#include<unistd.h>
两个SLAM代码至此编译成功!
全部评论 (0)
还没有任何评论哟~
