前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows 下使用 Mingw32-make 来执行 Makefile示例[通俗易懂]

Windows 下使用 Mingw32-make 来执行 Makefile示例[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-23 15:16:39
3.1K0
发布2022-07-23 15:16:39
举报

大家好,又见面了,我是你们的朋友全栈君。

文章目录


先下载 Mingw

这里使用的是 mingw32 不是 64 的,需要 64位 的自行搜索下载

32位 的可以参考我之前一篇的:C – Book Note – Win 开发环境设置


设置好环境变量

如下图设置,我是安装在:C:\MinGW 下的

在这里插入图片描述
在这里插入图片描述

确认安装环境状态


gcc

在 cmd 或是 ps(power shell) 中输入:gcc -v,出现下面类似的输出,就OK了,如果不行,就要确认一下环境变量是否设置好了 Mingw 的 bin 目录

在这里插入图片描述
在这里插入图片描述

mingw32-make

同样看看 mingw32-make 能否正常执行,输出类似一下信息就 OK 了

在这里插入图片描述
在这里插入图片描述

但是名字太长,还有个”-“号,不方便输入

我们将 mingw32-make.exe 复制出一份,并且改名为:make.exe,这样后续命令行中 make 就方便多了

在这里插入图片描述
在这里插入图片描述

再次测试一下:make,可以看到一样的输出信息

在这里插入图片描述
在这里插入图片描述

C 工程测试

准备好一下几个源码文件


main.c

代码语言:javascript
复制
// author : jave.lin
// file : main.c
#include <stdio.h>
extern void call_math();
int main() { 
   
    call_math();
    return 0;
}

math.c

代码语言:javascript
复制
#ifndef _MATH__C_
#define _MATH__C_
// author : jave.lin
// file : math.c
int add(int a, int b) { 
   
    return a + b;
}
int sub(int a, int b) { 
   
    return a - b;
}
int mul(int a, int b) { 
   
    return a * b;
}
int div(int a, int b) { 
   
    return a / b;
}
#endif

call_math.c

代码语言:javascript
复制
#ifndef _CALL_MATH__C_
#define _CALL_MATH__C_
// author : jave.lin
// file : call_math.c
#include <stdio.h>
extern int add(int, int);
extern int sub(int, int);
extern int mul(int, int);
extern int div(int, int);
void call_math() { 
   
    int a = 8, b = 2;
    printf("a = %d, b = %d\n", a, b);
    printf("add(a:%d, b:%d) = %d\n", a, b, add(a, b));
    printf("sub(a:%d, b:%d) = %d\n", a, b, sub(a, b));
    printf("mul(a:%d, b:%d) = %d\n", a, b, mul(a, b));
    printf("div(a:%d, b:%d) = %d\n", a, b, div(a, b));
}
#endif

准备好 Makefile 文件

代码语言:javascript
复制
# author : jave.lin
# file : Makefile
main : main.o math.o call_math.o
	gcc main.o math.o call_math.o -o main

main.o : main.c
	gcc main.c -c -o main.o

math.o : math.c
	gcc math.c -c -o math.o

call_math.o : call_math.c
	gcc call_math.c -c -o call_math.o


.PHONY : clean
clean:
	del *.o main.exe -rf

执行 Makefile

将 shell 当前目录定位在我们的 Makefile 所在目录下(方便一个 make 就搞定,这样就不用输入其他的目录信息)


执行前

在这里插入图片描述
在这里插入图片描述

执行后

在这里插入图片描述
在这里插入图片描述

运行 main.exe

在这里插入图片描述
在这里插入图片描述

执行 Makefile clean 清理文件


执行前

在这里插入图片描述
在这里插入图片描述

执行后

在这里插入图片描述
在这里插入图片描述

整体运行演示 GIF

在这里插入图片描述
在这里插入图片描述

Referernces

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126583.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月8,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 先下载 Mingw
  • 设置好环境变量
    • 确认安装环境状态
      • gcc
      • mingw32-make
      • C 工程测试
        • main.c
          • math.c
            • call_math.c
            • 准备好 Makefile 文件
            • 执行 Makefile
              • 执行前
                • 执行后
                • 运行 main.exe
                • 执行 Makefile clean 清理文件
                  • 执行前
                    • 执行后
                    • 整体运行演示 GIF
                    • Referernces
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档