ch5代码运行方法

SLAM十四讲ch5部分代码的运行

在学习SLAM十四讲的过程中,环境配置是一个很让人头大的事情。

在不了解C++和cmake的编译会遇到很多头大的错误(对于我自己来说),因此本文总结了一些我在运行ch5代码中犯过的一些困难便于学习,也希望对大家能有一点点的帮助。

代码运行环境:

ubuntu20.04

opencv4.5.3

IDE:vscode

ch5-imageBascis运行

程序不详细介绍,只写一下如何运行

方法一(终端运行)

进入/home/user/slambook2/ch5/imageBasics目录中输入如下命令:

mkdir build && cd build 
cmake ..
make 
cd ..
build/imageBascis ubuntu.png #向程序传递参数

即可成功运行

方法二(vscode中运行)

使用vscode对代码进行调式只需要修改launch.json文件如下即可

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/build/${fileBasenameNoExtension}",
            "args": ["${fileDirname}/ubuntu.png"],	//传入图片参数
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "preLaunchTask": "Build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

ch5-rgbd运行

运行该代码之前我们还需要安装pcl库用来显示拼合的点云地图,pcl库安装的终端命令如下:

sudo apt-get install libpcl-dev pcl-tools

安装好pcl库后,我们便可以运行代码,以终端命令运行为例如下:

mkdir build && cd build
cmake ..
make
./joinMap

如果没有出现点云图片,可以在build文件夹或者build上级文件夹执行如下命令

pcl_viwer map.pcd	#运行完可执行文件会产生pcd文件,使用pcl_viwer即可查看点云

使用ide安装好pcl库运行即可

VSCode常用的launch.json和task.json配置

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/build/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "preLaunchTask": "Build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json

{   
    "version": "2.0.0",
    "options": {
        "cwd": "${workspaceFolder}/build"
    },
    "tasks": [
        {
            "type": "shell",
            "label": "cmake",
            "command": "cmake",
            "args": [
                ".."
            ]
        },
        {
            "label": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "command": "make",
            "args": [

            ]
        },
        {
            "label": "Build",
			"dependsOrder": "sequence", // 按列出的顺序执行任务依赖项
            "dependsOn":[
                "cmake",
                "make"
            ]
        }
    ]
}
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值