Linux下gcc使用Makefile编译
0. 前言
- 最近开始(重新)学习c/c++,各种IDE属实复杂,于是采用最基本的文本编译器如vim + gcc 方式编译程序。
- 单个.c文件还好,但工程中普遍需要多个.c文件.h文件,每次修改后就需要在终端重新一个个的遍历也确实麻烦。
- 所以用到了Makefile这个东西
- 最早是在Clion中接触Makefile,win下大部分IDE已经替我们完成了文件编译链接过程,但是gcc不会自动帮我们做如上工作,就需要使用到Makefile来简化我们的操作。
1. 一个简单的例子
- 我们先
tree一下看一看工程文件结构

| 文件名称 | 说明 |
|---|
| 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,你就明白了

- ok 作为初学者可以先这么理解,与使用,注意空格是一个Tab
- 我们直接在命令行运行
make

- 就多了一个
exe - Makefile还有很多功能…