Windows安装Make工具(make.exe和mingw)

1、make.exe

官网介绍:Make是一个工具,它控制从程序的源文件生成程序的可执行文件和其他非源文件。Make从一个名为Makefile的文件中获取如何构建程序的知识,该文件列出了每个非源文件以及如何从其他文件中计算它。当你编写一个程序时,你应该为它编写一个Makefile,这样就可以使用Make来构建和安装程序。

在Linux中是很常见的,比如说Linux中安装远程桌面

make    
make install

类似上面这种,就是常见操作。下面我们看下在Windows中如何操作:

下载地址:https://gnuwin32.sourceforge.net/packages/make.htm
选择第一个 Complete package, except sources(没有源码的安装版本),安装之后将C:\Program Files (x86)\GnuWin32\bin 加入到系统环境变量即可
为了实时可以使用,将任务管理器删除“Windows资源管理器”,然后点击“文件”--“运行新任务”,输入“explorer”,这样就可以在命令行中运行make命令了。

C:\Users\Tony>make -v
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-pc-mingw32

这里也可以看到,版本是3.8.1,是基于mingw32

当然不想加入到环境变量,就来到这个目录,输入cmd,直接定位到这个目录进行操作也可以。系统环境变量只是替你定位了目录而已,减少输入目录时间。

我们来看下实际例子:

src_a.c

#include "stdio.h"
void funca()
{
	printf("AA\r\n");
}

src_b.c

#include "stdio.h"
void funcb()
{
	printf("BB\r\n");
}

src_c.c

#include "stdio.h"
void funcc()
{
	printf("CC\r\n");
}

main.c

#include "stdio.h"
extern void funca();
extern void funcb();
extern void funcc();
int main()
{
	funca();
	funcb();
	funcc();
}

Makefile

main : main.o  src_a.o src_b.o  src_c.o
	gcc main.o src_a.o src_b.o src_c.o -o main
 
main.o : main.c
	gcc main.c -c -o main.o
 
src_a.o : src_a.c
	gcc src_a.c -c -o src_a.o
 
src_b.o : src_b.c
	gcc src_b.c -c -o src_b.o
 
src_c.o : src_c.c
	gcc src_c.c -c -o src_c.o
 
 
.PHONY : clean
clean:
	del *.o main.exe -rf

然后执行看下效果:

C:\Users\Tony\test>make
gcc main.c -c -o main.o
process_begin: CreateProcess(NULL, gcc main.c -c -o main.o, ...) failed.
make (e=2): 系统找不到指定的文件。
make: *** [main.o] 错误 2

出错了,这里可以看到是gcc的问题,需要安装这个编译器套件,可以下载安装,当然了,这里也可以安装接下来这个mingw一起来解决。

2、 mingw

用这个的更多,下载地址:https://sourceforge.net/projects/mingw/

同样的可以将C:\MinGW\bin加入环境变量,这样就不需要到这个目录来运行了。

在安装的时候可以按照自己的需求来选择安装,一般将mingw32-make这四个给勾选上,然后点Installation里的Apply Changes,就进入安装界面

 安装好了之后就会在bin目录看到gcc.exemingw32-make.exe等编译器相关

C:\MinGW\bin>mingw32-make -v
GNU Make 3.82.90
Built for i686-pc-mingw32
Copyright (C) 1988-2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

恩,安装成功。因为安装这个的时候就包含有gcc,所以我们回过来执行上面的make看能不能编译成功。

C:\Users\Tony\test>make
gcc main.c -c -o main.o
gcc src_a.c -c -o src_a.o
gcc src_b.c -c -o src_b.o
gcc src_c.c -c -o src_c.o
gcc main.o src_a.o src_b.o src_c.o -o main

没有问题,正常的编译了。然后运行main.exe看下结果:

C:\Users\Tony\test>main
AA
BB
CC

OK,没有问题,make是成功了,现在再验证下刚才安装的mingw

C:\Users\Tony\test>mingw32-make
gcc main.c -c -o main.o
gcc src_a.c -c -o src_a.o
gcc src_b.c -c -o src_b.o
gcc src_c.c -c -o src_c.o
gcc main.o src_a.o src_b.o src_c.o -o main

然后在这个目录输入cmd,进入到这个目录,输入main ,结果也是没有问题,另外还可以将编译生成的所有文件给删除

C:\Users\Tony\test>mingw32-make clean
del *.o main.exe -rf

猜你喜欢

转载自blog.csdn.net/weixin_41896770/article/details/131262178