Makefile的完整入门教程(实现不了来打我TAT)
看完能够了解Makefile是什么;我们能用makefile做什么;makefile的简易使用
1、什么是Makefile
Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则,如之前完全没有接触过Makefile,建议把下面这个完整教程看一下(前面3章至少)
Makefile完整教程
2、遇到“gcc不是内部或外部命令,也不是可运行的程序或批处理文件”怎么办
当我们跟着上面的教程准备试试手的时候发现,命令栏弹出“gcc不是内部或外部命令,也不是可运行的程序或批处理文件”,太草了吧!!
下载一个MingGW
MingGW链接
将下面红框内容下载并安装
![在这里插入图片描述](https://img-blog.csdnimg.cn/672c719d1d0b43288bd989647aafde96.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_20,color_FFFFFF,t_70,g_se,x_16)
配置环境变量
系统变量->Path->编辑->新建->mingw\bin
系统变量->新建->变量名:LIBRARY_path->变量值:mingw\lib
系统变量->新建->变量名:C_INCLUDE_PATH->变量值:mingw\include
![在这里插入图片描述](https://img-blog.csdnimg.cn/0cff026f47db4ad8aa039774875da98b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f394ae778a2f44c2a5b17b70c5ba242e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_13,color_FFFFFF,t_70,g_se,x_16)
完成上述步骤后,在命令栏(Win+R,然后输入cmd)里面输入 gcc -v,如果此时你的环境是正确的,则可以得到如下图所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/8a4f97b4725f4eb0bae8f97853a0cf85.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_20,color_FFFFFF,t_70,g_se,x_16)
3、makefile的简易使用
1、 创建如下三个文件,注意最后一个必须是makefile,并且没有任何后缀!!(默认makefile会去找名为makefile的文件然后进行编译,当然也可以用指令指定文件)
![在这里插入图片描述](https://img-blog.csdnimg.cn/61a33be97cb84f42a386b0233ec0c66e.png)
两个c文件的内容分别是:
extern int main(void);
#include<stdlib.h>
#include "hello.h"
int main(void)
{
printf("this is my makefile result\n");
system("pause");
return 0;
}
makefile的内容如下
hello:hello.c
gcc -o hello hello.c
要注意!!! gcc前面必须是tab!!!不然会编译报错
2、在命令栏进入到当前路径(也可以如下图,直接在路径输入cmd)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b62932ddef9b410b9afa78aa97e25e16.png)
命令栏中输入 mingw32-make,可以看到如下输出,并且会在原来的路径下生成一个 hello.exe
注意!在很多教程上你看到的是输入make,但是实际上是:如果你用MinGW,你的make 叫 mingw32-make 如果你用MSVC,你的make叫 nmake(出自某乎)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2b1778457e7d4b0a98af7990dc751ffc.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/d945403877b24b6e98d9afd61e2be8e5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_20,color_FFFFFF,t_70,g_se,x_16)
双击hello.exe,可以得到我们编译后的结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a82450de585349ff901876fda1285e75.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Zyo6YCG5aKD5Lit6JyV5Y-Y,size_20,color_FFFFFF,t_70,g_se,x_16)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)