ORBSLAM2 windows编译与问题解决
程序员文章站
2022-06-11 16:56:16
...
ORBSLAM2 windows编译与问题解决,,一次性搞定,亲测有效
1准备工作
1.下载windows下的ORBSLAM2版本
ORBSLAM2windows
2.下载cmake
Cmake
3下载Opencv
opencv版本没有要求,但是别太老,本文使用的是2.4.13
2按照如下步骤进行编译
1.Opencv环境配置
下载解压opencv之后在根据需要在环境变量PATH中添加YOUR_OWN_PATH\opencv\build; 对于x64环境添加YOUR_OWN_PATH\opencv\build\x64\vc12\bin;
对于x86环境变量“ PATH” 中添加YOUR_OWN_PATH\opencv\build\x86\vc12\bin;按需添加即可
2.DBOW编译
- 打开cmake-gui,选择DBow2文件夹作为源路径,选择DBow2 / build文件夹作为二进制路径
- 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”。
- 配置完成后,单击生成。
- 转到DBow2 / build文件夹,双击DBoW2.sln以打开对象。
- 在所需的调试或发布模式下构建ALL_BUILD。
- 成功构建之后,这些库将位于DBow2项目源文件夹的lib文件夹中。
3.Eigen
- Eigen不需要编译
4.Pangolin
注意!!!
编译Pangolin的时候最好将打开git运行,否则编译过程太慢了。哭唧唧!!
git config --global http.proxy 'socks5://127.0.0.1:1080'
- 打开cmake-gui,选择Pangolin文件夹作为源路径,选择Pangolin / build文件夹作为二进制路径
- 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”
- 配置完成后,单击生成
- 转到Pangolin / build文件夹,双击Pangolin.sln以打开对象
- 在所需的调试或发布模式下构建ALL_BUILD。(模式应与DBoW2 && g2o相同)
- 您将收到“无法打开输入文件’pthread.lib’”的错误,将其忽略即可。
- 成功构建后,这些库将位于Pangolin项目源文件夹的lib文件夹中
5.g2o编译
- 1.打开cmake-gui,选择g2o文件夹作为源路径,选择g2o / build文件夹作为二进制路径
- 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”
- 配置完成后,单击生成
- 转到g2o / build文件夹,双击g2o.sln以打开对象
- 右键单击g2o项目->属性-> C / C +±>预处理程序定义,在最后一行添加WINDOWS,单击“应用”并单击“确定”
- 在所需的调试或发布模式下构建ALL_BUILD。(提醒重复步骤5 &&模式应与DBoW2相同)
- 成功构建后,这些库将位于g2o项目源文件夹的lib文件夹中
6.ORBSLAM的构建
- 打开cmake-gui,选择ORBSLAM24Windows文件夹作为源路径,选择ORBSLAM24Windows / build文件夹作为二进制路径
- 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成
- 配置完成后,单击生成
- 转到ORBSLAM24Windows / build文件夹,双击ORB_SLAM2.sln以打开对象
- 选择所需的调试或发布模式。(模式应与DBoW2 && g2o && Pangolin相同)
- 右键单击ORB_SLAM2项目,然后单击“生成”
- 成功构建之后,这些库将位于ORB_SLAM2项目源文件夹的lib文件夹中
- 编译过程中如果出现“back_inserter”: 不是“std”的成员错误,定位目标文件位置,加入头文件
#include <iterator>
即可
7.编译应用程序
以mono_tum应用为例,您可以按照以下步骤操作
- 转到ORBSLAM24Windows / build文件夹,双击ORB_SLAM2.sln以打开对象
- 选择所需的调试或发布模式。(构建模式应与DBoW2 && g2o && Pangolin && ORB_SLAM2相同)
- 右键单击mono_tum项目,然后单击“生成”
- 下载tum数据集序列,例如freiburg2_desk
- 右键单击mono_tum项目,然后单击Property-> Config Property-> Debug,输入三个参数(用法:./mono_tum path_to_vocabulary path_to_settings path_to_sequence,第一个可以在Windows中忽略)
path_to_vocabulary在ORBSLAM24Windows / Vocabulary文件夹中,解压缩tar和.txt文件
path_to_settings在ORBSLAM24Windows / Examples / Monocular文件夹中,与TUM2.yaml对应的rgbd_dataset_freiburg2_desk
path_to_sequence rgbd_dataset_freiburg2_desk文件夹路径
大功告成!!!
上一篇: ORBSLAM2 运行记录
下一篇: FreeRTOS 移植
推荐阅读
-
windows 10 webrtc 下载与编译以及遇到的问题
-
Windows10下VS2017编译MQTT C与编译MQTT C++
-
Qt开发笔记之编码x264码流并封装mp4(二):windows平台x264添加mp4支持,gpac库的介绍与编译
-
linux与windows双系统文件互相访问文件夹出错问题解决
-
QWT编译与配置-Windows/Linux环境
-
Windows 下 VS code 中 Code Runner 无法输入 & 中文乱码 & 编译报错 等问题解决
-
Windows 下 VS code 中 Code Runner 无法输入 & 中文乱码 & 编译报错 等问题解决
-
ORBSLAM2 windows编译与问题解决
-
Windows及Linux下动态库的编译与调用示例
-
Chez Scheme 编译与环境搭建 Windows10