VS2022编译ORB-SLAM3踩坑实录:Windows环境下的完整避坑指南

ORB-SLAM3在windows11下的编译使用 近期在学习SLAM,想部署一下ORB-SLAM3,但是自己电脑是win11系统,因此就想着在win11上部署一下。但是网上看了一些教程,有一些博客,但是可能不适合我这种情况把,就很纠结。先说下结果,配置成功,过程极其痛苦。 阅读详情

VS2022编译ORB-SLAM3实战指南:Windows环境深度排雷手册

当你在Windows平台上用VS2022折腾ORB-SLAM3时,大概率会遇到比算法本身更复杂的编译问题。作为在视觉SLAM领域摸爬滚打多年的老手,我完整经历了从环境配置到成功运行的每一步坑位,这份指南将用最直白的方式带你避开90%的常见雷区。

1. 环境准备:那些官方文档没告诉你的细节

1.1 工具链的版本玄学

ORB-SLAM3对工具链版本极其敏感,以下是经过验证的组合:

组件推荐版本替代方案致命陷阱
Visual Studio2022 (17.6+)2019 (16.11+)低于2019版本直接放弃治疗
CMake3.24+3.20+旧版无法正确处理CUDA选项
Git2.40+-旧版克隆可能损坏子模块

提示:安装VS2022时务必勾选"使用C++的桌面开发"和"Windows 10 SDK",漏装会导致后续Boost编译报错。

1.2 OpenCV的隐藏关卡

官方说支持OpenCV 4.x,但实际编译时会遇到这些坑:

# 验证OpenCV安装的正确姿势(管理员权限运行)
cd C:\opencv\build\x64\vc15\bin
opencv_version.exe

如果看到版本号但运行时崩溃,大概率是环境变量冲突。用这个批处理脚本彻底清理旧版本残留:

@echo off
setx -m OPENCV_DIR ""
setx -m PATH "%PATH:;C:\opencv\build\x64\vc15\bin;=%"
del /q C:\Windows\System32\opencv_*.dll

2. 第三方库编译:魔鬼藏在参数里

2.1 Boost编译的生死时速

Boost的编译命令堪称艺术,这个参数组合实测有效:

b2.exe --toolset=msvc-14.3 architecture=x86 address-model=64 ^
       link=static runtime-link=static threading=multi ^
       --with-system --with-thread --with-filesystem ^
       --with-serialization --with-date_time

关键参数解析:

  • runtime-link=static:避免MD/MT运行时库冲突
  • threading=multi:强制多线程模式,否则SLAM会卡成PPT
  • 绝对不要加--build-type=complete,那会浪费3小时生命

2.2 Pangolin的视觉陷阱

最新版Pangolin默认启用Vulkan支持,但在Windows上会导致:

error C2065: 'VK_KHR_surface': undeclared identifier

修改CMakeCache.txt中的这两项:

PANGOLIN_BUILD_EXAMPLES:BOOL=OFF
PANGOLIN_USE_VULKAN:BOOL=OFF

3. ORB-SLAM3本体编译:错误代码背后的真相

3.1 OpenCV头文件大乱斗

遇到"CV_RGB2GRAY未声明"这类错误时,不要急着改代码!先在ORB_SLAM3/CMakeLists.txt中加入:

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

然后删除build目录重新生成解决方案。如果还报错,用这个核武器:

// 在所有报错文件头部添加
#if defined(_MSC_VER)
#include <opencv2/imgproc/imgproc_c.h>
#include <opencv2/imgproc/types_c.h>
#endif

3.2 多线程库的幽灵冲突

当看到"LNK2038: _ITERATOR_DEBUG_LEVEL不匹配"时,按这个顺序检查:

  1. 所有项目属性 → C/C++ → 代码生成 → 运行库必须统一为/MT或/MTd
  2. Boost编译时使用的runtime-link参数必须与上述一致
  3. 清理解决方案后重新生成

4. 实战测试:当理论遇上现实数据

4.1 数据集路径的终极奥义

TUM数据集路径配置的黄金法则:

# TUM1.yaml 修改示例
DatasetPath: "D:/ORB_SLAM3/Examples/data/rgbd_dataset_freiburg1_desk"
# 必须用正斜杠!绝对路径!不带引号!

4.2 运行时DLL地狱解决方案

把以下文件复制到Examples/Monocular/Release/:

  • 所有OpenCV的.dll(约25个)
  • boost_*.dll(如果用了动态链接)
  • pangolin.dll
  • DBoW2.dll和g2o.dll

用这个命令验证依赖是否完整:

dumpbin /DEPENDENTS mono_tum.exe

最后给执着于Windows平台的开发者一个忠告:准备好至少8GB空闲内存和大量耐心。当看到那个红色的特征点云终于出现在屏幕上时,你会觉得这一切都值了——直到你开始调试闭环检测模块。

Windows平台下VS2022与ORB-SLAM3的深度编译指南 本文提供了在Windows平台下使用VS2022编译ORB-SLAM3的详细指南。通过vcpkg管理依赖、CMake生成解决方案,并解决OpenCV版本适配等经典编译错误,帮助开发者成功在Windows环境中部署这一先进的视觉SLAM系统。 阅读详情

相关推荐

Windows下ORB-SLAM3编译避坑指南:从VS2022配置到EuRoC数据集运行

本文详细介绍了在Windows 11 + VS2022环境下编译和运行ORB-SLAM3的完整流程,重点解决了Boost、OpenCV、Pangolin等依赖库的版本冲突与配置问题,并提供了从源码修改到EuRoC数据集运行的全套避坑指南,帮助开发者顺利完成Windows平台下的ORB-SLAM3环境搭建与部署。

weixin_29043895的博客 376

VS2022+ORB-SLAM3在Windows下编译

ORBSLAM3编译与生成一、下载和安装git代码管理软件1、Git下载地址:Git - Downloads (git-scm.com)2、下载和安装Git,如图:在这里可能会遇到下载慢的问题,因为这是国外的网站,不过问题不大,Git安装软件只有25MB左右的大小,等个几十分钟就可以下载好了。如果觉得上述费时又麻烦,可以先下载腾讯官方提供的软件管家(该软件非常好用,而且无毒无害,电脑用它就够了,都无需安装其他杀毒软件,在里面下_orb-slam3 编译生成exe。先说下结果,配置成功,过程极其痛苦。

xiao_jianxiaoxian的博客 1431

Windows11下ORB-SLAM3环境配置避坑指南(新手向)

本文为新手提供了在Windows11系统下配置ORB-SLAM3环境的详细避坑指南。针对编译失败、依赖库版本冲突等常见问题,文章重点解析了Visual Studio、CMake、OpenCV、Boost等核心工具的版本选择与配置细节,并提供了第三方库编译与主项目集成的完整解决方案,帮助开发者顺利完成环境搭建。

weixin_29237635的博客 578

Windows11环境从0到1配置ORB-SLAM3(小白专用)

如果是第一次配置环境确实会感觉比较繁琐,特别是习惯了python的安装包的方法以后,c++操作实在太麻烦,但是按照本文的步骤来一定没问题的。如果在编译生成中报错,不要心急,重点检查一下包含目录、库目录,附加包含目录和附加依赖项,有些在cmakelist文件里面路径不存在或者不正确都有可能导致某个库或最后的项目生成失败,都添加好就行了。

super_c8888的博客 2859

win11从零搭建ORB-SLAM3简要记录

因研究课题需要,准备直接在windows上搭建ORB-SLAM3的环境,尝试是否能跑起来。因为完全零基础,所以花了整整一周时间才勉强配置成功,所以把遇到的问题记录一下,留着后面查看。纯小白笔记,不能保证内容完全正确,大佬们见谅。 1.环境 win11+VS2022+CMake+ORB-SLAM3 安装教程主要参考以下两个博客 ORB-SLAM3在windows下的编译使用 - 李小肥的YY的文章 - 知乎 https://zhuanlan.zhihu.com/p/372299812 (5条消

Gargantua_L的博客 2730

ORB-SLAM3在VS2022中的完整编译教程:包含第三方库配置与EuRoC数据集测试

本文详细介绍了ORB-SLAM3在VS2022环境中的完整编译教程,包括第三方库配置与EuRoC数据集测试。针对Windows 11系统环境进行了深度适配,提供了从环境搭建到实战测试的全流程指南,帮助开发者快速掌握ORB-SLAM3的部署与优化技巧。

weixin_30952535的博客 467

Windows环境下编译ORB-SLAM2

学习过程中需要在windows操作系统下编译ORB-SLAM2程序,记录在windows下部署ORB-SLAM2程序的步骤流程以及遇到的问题。本文仅供学习参,记录学习过程,如有侵权立刻下架。本次在windows下部署的程序都是采用静态多线程(/MT)的方式,如果不同的依赖库分别采用了动态和静态的编译方式,则会导致运行时库不同导致编译错误,请读者注意编译的类型选项。工具。

nnnnkoi的博客 686

告别环境报错!Windows 11下ORB-SLAM3保姆级配置避坑指南(含CMake、VS2022、OpenCV 3.4.1)

本文提供Windows 11下ORB-SLAM3的完整配置指南,涵盖环境搭建、依赖库安装、CMake配置及常见错误解决方案。通过详细的步骤和避坑技巧,帮助开发者快速完成ORB-SLAM3的环境配置,特别适合Windows平台用户和小白开发者。

weixin_27303545的博客 388

orb-slam3在windows下编译

orb-slam3在windows10,vs2022下编译

dianzheng7390的博客 1789

Win11系统下ORB-SLAM3编译避坑指南:从Boost配置到成功运行全流程

本文详细介绍了在Win11系统下编译ORB-SLAM3的全流程,重点解决了Boost库配置等常见问题。通过Visual Studio 2022环境和CMake工具链,提供从环境搭建到视觉SLAM系统部署的实战指南,帮助开发者高效完成ORB-SLAM3的编译与运行。

weixin_30955617的博客 403

ORB-SLAM3在Windows11上的完整部署教程:VS2022+CMake+OpenCV实战

本文详细介绍了ORB-SLAM3在Windows11系统上的完整部署流程,涵盖VS2022、CMake和OpenCV的配置与编译实战。通过分步指导环境搭建、依赖库安装和源码编译,帮助开发者高效实现视觉SLAM系统的部署与优化,特别适合Windows平台下的ORB-SLAM3开发与应用。

weixin_27918373的博客 161

Windows11系统下ORB-SLAM3编译实战:从环境配置到运行测试

本文详细介绍了在Windows 11系统下编译和运行ORB-SLAM3的完整实战流程。从Visual Studio 2022和CMake环境配置开始,逐步指导安装OpenCV、编译Boost库,并配置DBoW2、g2o、Pangolin等关键依赖。重点解决了Windows平台特有的编译链接问题,如静态运行时库设置,最终完成核心库与示例程序的编译,并成功运行EuRoC数据集进行测试。

weixin_28841265的博客 239

Windows11下ORB-SLAM3环境配置避坑指南(从零到运行)

本文提供了一份详细的Windows11下ORB-SLAM3环境配置指南,旨在帮助开发者,特别是新手,从零开始成功运行这一视觉SLAM方案。文章重点强调了版本一致性的重要性,并针对Windows系统特有的依赖冲突、路径错误等常见问题提供了清晰的避坑步骤和解决方案,确保配置过程顺畅。

weixin_29255731的博客 109

ORB-SLAM3 在 Windows 的实现(全网最详细,配有附相关库夸克下载链接)

本文详细介绍了在Windows系统下编译ORB-SLAM3所需的各项依赖库的完整流程。主要内容包括:1. Boost库的编译配置(VS2022环境);2. OpenCV的环境变量设置;3. GLEW库的静态/动态版本编译;4. Pangolin库的CMake配置与特殊编译参数设置;5. DBoW2和g2o库的编译过程;6. ORB-SLAM3主项目的CMake配置和Visual Studio编译设置。重点强调了各库必须统一使用/MT(静态链接运行时库)的编译方式,并提供了详细的路径配置说明和常见问题解决方案

wxr66的博客 1243

MATLAB新手必看:SVPWM七段式算法仿真全流程解析(附完整代码)

本文为MATLAB新手和电机控制初学者提供了SVPWM七段式算法的完整仿真与代码实现指南。文章详细解析了从扇区判断、矢量作用时间计算到PWM波形生成的全流程,并附带了可直接运行的MATLAB代码,帮助读者在理解FOC控制核心算法的基础上,快速掌握工程仿真与调试技巧。

weixin_29074295的博客 283

银河麒麟V10离线升级OpenSSH实战:从编译到回滚全流程

OpenSSH作为Linux系统远程登录的核心组件,其版本升级直接关系到系统安全与等保合规。在信创环境下,银河麒麟V10自带的OpenSSH版本往往无法满足漏洞扫描与安全加固要求,而离线编译升级涉及依赖处理、编译参数、服务替换与回滚方案等多个技术环节。本文围绕银河麒麟V10(x86_64)平台,详细讲解OpenSSH离线升级的完整实操流程,包括环境摸底、依赖包安装、源码编译、配置文件兼容性处理、服务重启验证以及常见问题排查,并分享批量升级与安全加固的工程经验,帮助运维人员在不断网、不重装的前提下一次成功完成

weixin_30582943的博客 390

Windows11系统下ORB-SLAM3编译实战:从环境配置到成功运行

本文详细介绍了在Windows11系统下编译和运行ORB-SLAM3的全过程,包括环境配置、关键依赖安装、第三方库编译以及核心编译步骤。通过实战经验分享,帮助开发者高效完成视觉SLAM系统的部署,特别适合在Windows11平台上进行ORB-SLAM3开发的初学者和研究人员。

weixin_30500105的博客 651

基于opencv自定义网格板的相机标定软件源码

本软件开发版使用的是VS2013和QT5.7, 安装版的需要安装VS核心库(目录里的vcredist_x64.exe, 已安装VS的不需要)。采用强大的模板匹配算法,本程序适用于自定义大范围网格标定(本例程网格使用的是自己画的网格板31*21*10cm),网格点识别度高,矫正速度快,精度高。 使用步骤 第1步: 打开图片,打开标定工具GridCalibTool.exe, 然后选择打开一张待标定的图(CalibFiles文件夹下的500.jpg)。如下图: 第2步: 提取待标定区域(去掉多余部分,只保留网

qq_33138437的博客 1123

ORB-SLAM3+VS2022实战:从环境搭建到运行TUM数据集的全流程解析

本文详细解析了在Windows平台使用VS2022编译和运行ORB-SLAM3的全流程,包括环境配置、依赖库安装、核心系统编译以及TUM数据集的运行与优化。特别针对VS2022环境提供了实用的编译技巧和问题解决方案,帮助开发者快速搭建高效的视觉SLAM开发环境。

spark7igniter的博客 186

ClickHouse的bitmap使用

ClickHouse的bitmap使用 bitmap的基本使用 在CK中bitmap有两种构建方式,在ClickHouse的官网有说明: (1)一个是由聚合函数groupBitmapState构造的, (2)另一个是由Array Object构造的。同时还可以将位图对象转化为数组对象。 bitmap实战 数据和基本数据表准备 创建一张基本表,一个用户表,有多个描述的维度,每个维度由该维度的唯一id。 CREATE TABLE test02(id UInt16, tag1 UInt8, tag2 UInt8,

zg_hover的专栏 5654

AD学习笔记(一)基础认识

文章目录AD学习笔记第一讲 AD基础认识一、两库两图(分别对应下图)1、PCB图(pcbdoc)2、原理图(schdoc)3、原理图库(schlib)4、PCB库(pcblib)二、封装1、DIP封装2、LQFP封装三、绘制整体流程1、建立工程(PrjPcb)2、建立两库两图并保存整个工程(五次)3、从库中提取绘制原理图4、原理图导入pcb图5、根据原理图布线6、pcb图交由工厂打板 AD学习笔记 第一讲 AD基础认识 一、两库两图(分别对应下图) PCB图(pcbdoc) 原理图(schdoc) PCB库

qq_52465473的博客 6686
上一篇: Linux DSA驱动开发实战:QCA8337交换芯片配置与优化
下一篇: 无人机图传技术解析:核心要素与行业应用全景
github5actions
博客等级 码龄1天 0粉丝 1824原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值