[学习笔记-SLAM篇]Ubuntu下使用VS Code编译调试ORB-SLAM3

整理一下ubuntu环境使用VS Code编译ORB-SLAM3的过程。

一、安装VS Code

前面有整理,指路[学习笔记-VS Code篇]卸载kdevelop,安装VS Code

二、安装cmake

这个有自己的编译器就行,主要是为了和终端cmake编译一致。
在终端使用指令即可,可以使用cmake --version查看是否安装。

三、安装扩展包

在VS Code的左边Extensions栏进行搜索,建议安装如下扩展包:

C/C++
C++ Intellisense
CMake
CMakeTools

四、编译调试

编译2-4,调试第5步。

  1. 首先在VS Code中点击最上方的文件-打开文件夹,选择ORB-SLAM3文件夹打开。
  2. 创建c_cpp_properties.jsonctrl + shift + P后输入C/C++: Edit configurations,其中内容可以先保持默认的不做修改。
  3. 创建tasks.jsonctrl + shift + P后输入Tasks: Configure Tasks,选择使用模板创建tasks.json,选择Others。这里建议修改为如下内容:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "./build.sh",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  1. 编译。ctrl + shift + P后输入Tasks: Run Build Task或者快捷键ctrl + shift + B,就可以运行build.sh文件(执行tasks.json中的command指令)。修改build.sh文件中最下面的DCMAKE_BUILD_TYPEDebug,反正没改现在加不了断点。
  2. 调试。快捷键Ctrl+Shift+D,打开一个launch.json。如果已经在终端编译过Release版本,只想用VS Code进行调试,可以直接执行这一步进行调试。这里只需要对programargs的参数进行修改就可以:program是可执行文件的路径和名字,args是执行程序输入的剩余参数。但要注意把绝对路径都加上。打个比方,直接在终端运行stereo_inertial_euroc程序的指令是
./Examples/Stereo-Inertial/stereo_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo-Inertial/EuRoC.yaml /home/xxx/dataset/MH04 ./Examples/Stereo-Inertial/EuRoC_TimeStamps/MH04.txt

 那么,在launch.json中就这么写

"program": "/home/xx/ORB_SLAM3/Examples/Stereo-Inertial/stereo_inertial_euroc",
"args": [
    "/home/xx/ORB_SLAM3/Vocabulary/ORBvoc.txt",
    "/home/xx/ORB_SLAM3/Examples/Stereo-Inertial/EuRoC.yaml",
    "/home/xxx/dataset/MH04",
    "/home/xx/ORB_SLAM3/Examples/Stereo-Inertial/EuRoC_TimeStamps/MH04.txt"
]

 然后,在调试界面点击绿色小三角运行即可。


参考
1.Ubuntu下 VSCODE ORBSLAM2和3 DEBUG调试
2.Ubuntu系统下使用VS Code编译调试C++程序并添加外部库

  • 7
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值