整理19年10月月所做的笔记,当时没有记录文字的出处.仅供本人学习使用,如有侵权,立即删除.
1.进入工作空间
cd slambook
2.创建源文件和头文件的文件夹
mkdir include src
3.创建源文件和头文件
touch include/Hello.h src/Hello.cpp
(注意:touch创建不存在的文件,同时还具有改变时间戳的功能,只是这里没用到;另外Hello.cpp后缀要写对,不能写成.c,这样会导致编译失败).
4.进入Hello.h,编写头文件
vim include/Hello.h
(鼠标输入"i",开始编辑,点击"Esc",进入命令模式,输入":wq",保存退出,或":q",退出)
代码如下:
#pragma once //保证文件只被编译一次
void SayHello(); // 声明函数
(头文件中只需要声明函数,不需要实现)
5.进入Hello.cpp,定义函数
vim src/Hello.cpp
代码如下:
#include “Hello.h”
#include
using namespace std;
void SayHello()
{
cout<<“Hello SLAM”<<endl;
}
6.编写主函数,它的头文件在Hello.h中定义,它的实现在Hello.cpp中定义
vim main.cpp
代码如下:
#include <Hello.h>
using namespace std;
int main(int argc, char**argv)
{
SayHello();
return 0;
}
7.定义哪些文件编译成库,哪些文件编译成可执行文件
vim CmakeLists.txt
代码如下:
project(helloSLAM)
include_directories(“include”) //指明"include"是头文件引用的地方,头文件的依赖关系cmake自动处理
#only source files.
add_library(libHello src/Hello.cpp) //生成库,库的名称为libHello,源文件在Hello.cpp中
add_executable(sayHello main.cpp) //生成可执行文件,文件名叫sayHello
target_link_libraries(sayHello libHello) //链接库, sayHello调用 libHello库
8.cd build //中间文件生成在build文件中,不会跑到上层目录
9.cmake …
10. make
这是,在build文件夹中会生成一个libHello.a文件,这就是我们得到的库.