slam的简单操作以及原理

本文详细介绍了SLAM(Simultaneous Localization And Mapping)的基本原理和应用,并通过实例展示了如何使用C++编写和编译helloslam小程序。讲解了g++命令和cmake构建系统的使用,包括新建工作文件夹、编写代码、编译和生成可执行文件的过程。此外,还讨论了如何生成静态库和共享库,并解释了如何在CMakeLists.txt中添加链接库的声明。最后,提到了使用IDE(Kdevelop)进行项目管理和编译的步骤。
摘要由CSDN通过智能技术生成

slam的原理以及应用##

1 新建工作文件夹
使用mkdir命令新建文件夹 slambook和ch1文件夹,并利用cd命令进入ch1文件下,截图如在这里插入图片描述

2 编写helloslam小程序
使用vim命令创建helloslam.cpp文件,并填写如下代码
在这里插入图片描述

在这里插入图片描述

按esc键,输入:wq退出

3 编译helloslam程序
3.1 使用g++命令编译
编译命令使用如下图

在这里插入图片描述

此时利用ls命令可以看到ch1文件夹下多了一个a.out的可执行文件,其中a.out是该命令默认生成的可执行文件名字
在这里插入图片描述

若想生成其他名字的可执行文件,在调用g++命令时在其后添加-o,如下,可看到生成了hell的可执行文件

在这里插入图片描述

补充:关于g++命令的补充说明

g++ –c Hello.cc 编译文件,生成目标文件 Hello.o

g++ Hello.o –o abc 连接 并重命名为可执行文件 abc

g++ Hello.cc 编译连接一起,生成a.out

g++ Hello.cc –o hello 生成a.out并命名为hello

3.2 使用cmake编译
理论上说,任意一个C++ 程序都可以用g++ 来编译。但当程序规模越来越大时,一个工程可能有许多个文件夹和里边的源文件,这时输入的编译命令将越来越长。通常一个小型c++ 项目含有十几个类,各类间还存在着复杂的依赖关系。其中一部分要编译成可执行文件,另一部分编译成库文件。如果仅靠g++ 命令,我们需要输入大量的编译指令,整个编译过程会变得异常繁琐。因此,对于C++ 项目,使用一些工程管理工具会更加高效。在历史上工程师们曾使用makefile 进行自动编译,但下面要谈的cmake 比它更加方便

   在一个cmake 工程中,我们会用cmake 命令生成一个makefile 文件,然后,用make命令,根据这个makefile 文件的内容,编译整个工程

  首先利用rm命令将之前生成的可执行文件删除,此时ch1文件夹下只包含一个helloslam.cpp文件

3.2.1 制作一个工程
在ch1文件夹下,利用vim命令新建一个CMakeLists.txt文件,在该文件中添加如下部分
在这里插入图片描述

  每个CMakeLists.txt 文件,告诉cmake 我们要对这个目录下的文件做什么事情。CMakeLists.txt 文件内容需要遵守cmake 的语法。这个示例中,我们演示了最基本的工程:指定一个工程名和一个可执行程序

 注意:cmake根据CMakeLists.txt文件生成包含一系列文件的工程,其中生成的最重要的文件时makefile文件,make命令会根据此文件所制定的规则生成一些列文件(文件可能是库文件,也可能是可执行程序)

   此时ch1文件夹下只有2个文件,如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值