SLAM讲解,结合 高翔老师的着作“视觉SLAM十四讲:从理论到实践”。内容,小白加上工程的经验实践共同完成建议与 书籍 搭配使用。
本文以问答及提纲的形式讲解,更适合作为笔记功能反复使用。
1.cmake工程的组成
一个cmake工程通常由三部分组成:
- .txt
- .cpp
- build文件夹
- .txt的作用:告诉cmake我们要对这个目录下的文件做什么事情,.txt文件内容需要遵守cmake的语法。
- .cpp的作用:里面编写我们想要执行的程序。
- 文件夹的作用:我们在写完.txt和.cpp文件后,在构建文件中对.cpp文件进行编译。(因为.cpp文件编译后,会生成很多描述文件,所以放到一个文件夹里面编译,可以是工程的结构性更强。)
2.cmake工程的执行过程
一共需要先后输入两天指令,程序才可以编译。
- cmake //对工程进行分析
- make //对工程进行编译
3.创建一个'HelloSLAM'工程
说明:这里不详细讲解Linux系统的操作内容,如果有不明白的环节,请查看小白Linux分类下的博客。
1)创建一个slambook文件夹:
mkdir slambook
2)进入文件夹后,创建一个CMakeLists.txt文件:
cd slambook
touch CMakeLists.txt
3)打开的.txt文件,并在其中输入下面内容:
#打开文件
VIM CMakeLists.txt
#声明要求的 cmake 最低版本
cmake_minimum_required(VERSION 2.8)
#声明一个 cmake 工程
project( HelloSLAM )
#添加一个可执行程序
add_executable( helloSLAM helloSLAM.cpp)
4)创建一个helloSLAM.cpp文件:
cd slambook
touch helloSLAM.cpp
5)打开helloSLAM.cpp文件,并在其中输入下面内容:
#打开文件
VIM helloSLAM.cpp
#include<iostream>
using namespace std;
int main(int argc,char** argv)
{
cout<<"Hello SLAM!"<<endl;
return 0;
}
6)创建一个build文件夹,并在其中对.cpp文件进行编译
cd slambook
mkdir build
#进入文件夹
cd build
#对上层目录中的工程进行分析
cmake..
#对工程进行编译
make
7)编译后就会生成一个可执行文件(绿颜色的文件名),运行可执行文件
./helloSLAM
看到下方输出白体字“你好SLAM!“
恭喜你,工程建立完毕。