ORBSLAM2 windows编译与问题解决

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编译

  1. 打开cmake-gui,选择DBow2文件夹作为源路径,选择DBow2 / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”。
  3. 配置完成后,单击生成。
  4. 转到DBow2 / build文件夹,双击DBoW2.sln以打开对象。
  5. 在所需的调试或发布模式下构建ALL_BUILD。
  6. 成功构建之后,这些库将位于DBow2项目源文件夹的lib文件夹中。

3.Eigen

  1. Eigen不需要编译

4.Pangolin
注意!!!
编译Pangolin的时候最好将打开git运行,否则编译过程太慢了。哭唧唧!!

 git config --global http.proxy 'socks5://127.0.0.1:1080'
  1. 打开cmake-gui,选择Pangolin文件夹作为源路径,选择Pangolin / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”
  3. 配置完成后,单击生成
  4. 转到Pangolin / build文件夹,双击Pangolin.sln以打开对象
  5. 在所需的调试或发布模式下构建ALL_BUILD。(模式应与DBoW2 && g2o相同)
  6. 您将收到“无法打开输入文件’pthread.lib’”的错误,将其忽略即可
  7. 成功构建后,这些库将位于Pangolin项目源文件夹的lib文件夹中

5.g2o编译

  1. 1.打开cmake-gui,选择g2o文件夹作为源路径,选择g2o / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成”
  3. 配置完成后,单击生成
  4. 转到g2o / build文件夹,双击g2o.sln以打开对象
  5. 右键单击g2o项目->属性-> C / C +±>预处理程序定义,在最后一行添加WINDOWS,单击“应用”并单击“确定”
  6. 在所需的调试或发布模式下构建ALL_BUILD。(提醒重复步骤5 &&模式应与DBoW2相同)
  7. 成功构建后,这些库将位于g2o项目源文件夹的lib文件夹中

6.ORBSLAM的构建

  1. 打开cmake-gui,选择ORBSLAM24Windows文件夹作为源路径,选择ORBSLAM24Windows / build文件夹作为二进制路径
  2. 单击“配置”,选择“ Visual Studio 12 2013 Win64(或您自己的)”作为生成器,然后单击“完成
  3. 配置完成后,单击生成
  4. 转到ORBSLAM24Windows / build文件夹,双击ORB_SLAM2.sln以打开对象
  5. 选择所需的调试或发布模式。(模式应与DBoW2 && g2o && Pangolin相同)
  6. 右键单击ORB_SLAM2项目,然后单击“生成”
  7. 成功构建之后,这些库将位于ORB_SLAM2项目源文件夹的lib文件夹中
  8. 编译过程中如果出现“back_inserter”: 不是“std”的成员错误,定位目标文件位置,加入头文件 #include <iterator> 即可

7.编译应用程序
以mono_tum应用为例,您可以按照以下步骤操作

  1. 转到ORBSLAM24Windows / build文件夹,双击ORB_SLAM2.sln以打开对象
  2. 选择所需的调试或发布模式。(构建模式应与DBoW2 && g2o && Pangolin && ORB_SLAM2相同)
  3. 右键单击mono_tum项目,然后单击“生成”
  4. 下载tum数据集序列,例如freiburg2_desk
  5. 右键单击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文件夹路径

大功告成!!!
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章