Linux下gcc使用Makefile编译
0. 前言
- 最近开始(重新)学习c/c++,各种IDE属实复杂,于是采用最基本的文本编译器如vim + gcc 方式编译程序。
- 单个.c文件还好,但工程中普遍需要多个.c文件.h文件,每次修改后就需要在终端重新一个个的遍历也确实麻烦。
- 所以用到了Makefile这个东西
- 最早是在Clion中接触Makefile,win下大部分IDE已经替我们完成了文件编译链接过程,但是gcc不会自动帮我们做如上工作,就需要使用到Makefile来简化我们的操作。
1. 一个简单的例子
- 我们先
tree
一下看一看工程文件结构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1402e84b01d916971f737c3f209919d4.png)
文件名称 | 说明 |
---|
Lab3.cpp | 存储main 函数的函数实现 |
Lab3_run.cpp | 存储run 函数的函数实现 |
Lab3_run.h | 存储run 函数的函数声明 |
Lab3_data.h | 存储结构体声明及常量声明 |
Lab3_fun.cpp | 存储run 函数需要调用的各个子函数 |
Lab3_fun.h | 存储各个子函数声明 |
gcc -c Lab3.cpp Lab3_run.cpp Lab3_fun.cpp
gcc Lab3.o Lab3_run.o Lab3_fun.o -o exe
Makefile
或者makefile
实际上可以理解为命令行…- 让我们看一下我写的Makefile,你就明白了
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6532dcaa844c080305bd226488224dd4.png)
- ok 作为初学者可以先这么理解,与使用,注意空格是一个Tab
- 我们直接在命令行运行
make
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/649fbb1303093c4270944ba1bf600c0a.png)
- 就多了一个
exe
- Makefile还有很多功能…