slam学习之旅——hello slam

本文详细介绍了SLAM学习的起点——Hello SLAM程序的创建过程,包括使用g++命令和CMake进行编译。通过新建工作文件夹,编写helloslam.cpp,然后分别使用g++命令和CMake构建程序。CMake简化了大型项目中复杂的编译流程,使得管理工程文件间的依赖关系变得更加容易。此外,文章还探讨了静态库和共享库的生成以及如何在CMakeLists.txt中管理这些库。最后,提到了使用IDE Kdevelop进行C++开发的优势,并指导了如何安装、新建工程以及添加和编译代码。
摘要由CSDN通过智能技术生成

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个文件,如下

      

3.2.2 调用cmke命令新建工程

        命令使用如下,注意cmake命令后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值