一、将git中的代码克隆进电脑以及常用工具介绍
1.安装git
首先需要安装git
sudo apt install git
注意一定要加--recursive,因为文件中有很多“引用文件“,即第三方文件(库),加入该选项会将文件中包含的子模块(Submodule)也一并克隆下来,否则该部分就是空文件夹。
克隆成功
2.常用工具(需自行sudo安装):
(1)htop:相当于Windows的任务管理器,可以看到程序每个节点的内存占用情况,提供优化方向。
(2)terminator:超级终端,相对于原来的终端可以分栏(ctrl+shift+e/o),alt+方向键可以选择在哪个终端写字,同时操作可以通过alt+a全选。ctrl+shift+x放大缩小。
(3)VScode:按指令下载即可
在对应文件夹目录下输入code .即可打开当前目录
(4)ros(安装的话最好是桌面版):机器人操作系统。正常需要官网下载配置,但是可以一键安装,详见下篇博文
一键安装ROShttps://blog.csdn.net/LNSTOP/article/details/126599501
二、使用cmake
第一节中使用 GCC 编译器
我们通常使用一个叫做“GCC”的编译器来把我们的 C++ 代码变成计算机可以运行的程序。举个例子,如果我们有一个简单的 C++ 程序,我们可以用 g++
这个命令来编译它。
大型项目的复杂性
当项目变得很大时,会有许多文件,每个文件里都有不同的类。这些类之间会有相互依赖的情况,比如一个类需要用到另一个类的功能。有时候我们需要把一些文件编译成可以运行的程序(即可执行文件),而有些文件则需要编译成库文件,方便多个程序共享。
手动编译的问题
如果只用 g++
命令来编译整个项目,就需要输入很多指令来告诉编译器应该编译哪些文件。这样做不仅很麻烦,还很容易出错。
引入 CMake
为了解决这些问题,我们使用了一个工具叫做“CMake”。CMake 可以帮我们自动生成一个叫“Makefile”的文件,这个文件包含了所有编译的指令。 有了 Makefile 后,我们只需要运行一个简单的命令 make
就能完成整个项目的编译,不需要手动输入一堆指令了。
1.安装cmake
sudo apt install cmake
安装成功后输入cmake --version会显示版本号,如下图
2.基本概念和简单的 CMake 语法:
CMakeLists.txt 文件
CMake 通过读取项目中的 CMakeLists.txt
文件来确定如何构建项目。每个目录都可以包含一个 CMakeLists.txt
文件,用来描述该目录下的构建规则。
配置文件基本结构
cmake_minimum_required(VERSION 3.10)
project(MyProject)
add_executable(my_executable main.cpp)
cmake_minimum_required
命令
- 设置 CMake 的最低版本要求:
cmake_minimum_required(VERSION 3.10)
project
命令
- 定义项目名称:
project(MyProject)
add_executable
命令
- 创建可执行文件:
这里add_executable(my_executable main.cpp)
my_executable
是生成的可执行文件的名字,main.cpp
是包含主函数的源文件。
具体如下图所示:(版本不能过低,否则会报错)
cmake.进行工程分析
用make命令对工程进行编译
随后我们发现在目录下多出名为helloslam的可执行文件,执行后即可输出
当源文件与代码文件很多的时候,相比于一行一行写g++而言,cmake就会很方便了,只需要维护一个CMakelist.txt文件即可。
3.更好的编译方法
如上图所示,整个过程结束后,我们发现多了很多奇奇怪怪的文件,一个一个删除又过于麻烦,更好的做法就是让这些中间文件都在一个中间目录中,编译成功后把整个目录删除即可。
更常见的编译cmake工程做法如下:
mkdir build
cd build
cmake ..
make
随后直接再这个文件夹中执行make后编译即可。中间文件全都在build目录中。