Windows10使用OrbSlam3-VS2017-VC12版本
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
OrbSlam3集成了IMU信息可用以VIO融合重建。参考这哥们的地址依据GitHub上的介绍git clone --recursive 之后编译即可
ORBSLAM3 Win10 VS2017 配置简明指南_滥觞LanShang的博客-CSDN博客_orbslam3 windows
Git地址GitHub - chanho-code/ORB-SLAM3forWindows: ORB-SLAM3 for Windows Platform
编译过程
1.使用sourcetree git下载
选择递归 GitHub - chanho-code/ORB-SLAM3forWindows: ORB-SLAM3 for Windows Platform
2.先编译 pangolin按照这个教程 复制 glew不然会在cmake之后找不到包含GL/Glew.h
OpenGL(glut包)在Visual Studio 环境配置 - 简书
问题15>LINK : fatal error LNK1104: cannot open file '..\..\..\lib\Debug\pangolin.lib'
15>已完成生成项目“SimpleRepeatVideo.vcxproj”的操作 - 失败。
17>LINK : fatal error LNK1104: cannot open file '..\..\..\lib\Debug\pangolin.lib'
解决5>c:\program files\openni\include\XnPlatform.h(58): fatal error C1189: #error : Xiron Platform Abstraction Layer - Win32 - Microsoft Visual Studio versions above 2010 (10.0) are not supported!
解决 在cmake里面把OpenNI的包含给去掉编译lib成功
3.编译G2O
根据GitHub上的指导编译编译G2O
编译成功生成dll文件但是需要静态库lib...
按照前几个条目修改为lib库的配置重新编译或者添加在lib配置里面添加importlib条目名字
问题
几个编译的语法问题
orb-slam3forwindows\include\Map.h(140): error C2061: syntax error : identifier 'list'
orb-slam3forwindows\include\MapDrawer.h(66):
error C2536: 'ORB_SLAM3::MapDrawer::ORB_SLAM3::MapDrawer::mfFrameColors' : cannot specify explicit initializer for arrays
解决把那个list的使用函数直接注销掉
没法在头文件里面初始化移动到CC文件里编译成功
4.编译OrbSlam3应该能一次成功
生成 ORB_SLAM3.lib 和ORB_SLAM3.dll文件以动态库的方式调用。
也可以直接生成程序测试main()函数
5. 编译示例 程序和引用以最简单的mono_tum 为例这个没有使用imu信息数据较少
出现问题 链接不到函数体
mono_tum.obj : error LNK2019: unresolved external symbol "public: __cdecl ORB_SLAM3::System::System(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,enum ORB_SLAM3::System::eSensor,bool,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0System@ORB_SLAM3@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0W4eSensor@01@_NH00@Z) referenced in function main
解决方法
在System.h这个头文件里面找到构造函数
System(const string &strVocFile, con..........................
添加 引用声明
_declspec(dllexport)
System(const string &strVocFile, con..................
编译运行成功
二、测试效果
使用mono_tum 数据集合...