首页 > 系统相关 >如何在Windows下使用make编译Makefile

如何在Windows下使用make编译Makefile

时间:2024-08-23 12:04:24浏览次数:6  
标签:文件 gnu Windows make Makefile 编译 下载

最近有小伙伴咨询我去编译运行一个程序。我一开始以为是CMakeLists,结果发现是makefile。

 

什么是Makefile

‌Makefile是一种用于自动化构建和管理程序的工具‌,它定义了项目中文件的依赖关系和构建步骤,帮助程序员自动化编译、链接和打包程序,从而提高软件开发效率。

Makefile的主要作用包括:

  • ‌管理复杂的编译过程‌:在一个大型项目中,源文件可能数量众多,分布在不同的目录和模块中。Makefile通过定义一系列规则,指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。
  • ‌自动化编译‌:Makefile能够根据文件的最后修改时间自动发现更新过的文件,减少不必要的编译工作。当某个文件或其依赖项更新时,Makefile只会重新编译受影响的文件,而不是整个项目,从而提高了编译效率。
  • ‌灵活性和可维护性‌:Makefile允许定义变量和规则,使得构建过程更加灵活和可维护。开发人员可以根据项目的需求修改Makefile,而不需要修改实际的编译命令。
  • ‌跨平台使用‌:Makefile是一种跨平台的工具,可以在不同的操作系统上使用,例如Linux、Unix和Windows等,这使得它成为一种通用的构建解决方案。

 

如何解析Makefile

这里需要借用make工具。

 

1、下载make工具

打开make官网,找到下载部分

https://www.gnu.org/software/make/#download

 

可以选择以下几种下载方式

 

或者直接访问https://ftp.gnu.org/gnu/make/

 

下载最新版本,解压到本地

 运行build_w32.bat可以生成make工具的二进制文件。

 

但是这里有个前提,需要准备GCC或MSVC环境

 

这里两种环境的准备都介绍一下

GCC环境

GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言编译器。

官方下载地址:https://gcc.gnu.org/mirrors.html

但是这些镜像地址都在国外,下载比较慢,而且下载回来还得自己编译。

这里提供一个比较方便的办法,直接下载codeblocks带mingw版本,可以戳这里下载

安装codeblocks后,在环境变量中添加MinGW的路径。

标签:文件,gnu,Windows,make,Makefile,编译,下载
From: https://www.cnblogs.com/zhaotianff/p/18375741

相关文章

  • 【AI绘画入门】Stable diffusion安装教程,Windows+Mac系统,新手也能学会,看不懂算我输,文
    大家好,我是设计师子衿一、Stablediffusion简介Stablediffusion(简称SD),这是一个文本到图像生成模型,简单来说就是目前一个比较流行且效果较好的AI文生图工具,对比其他AI文生图工具,SD的最大优势就是开源免费,定制化强,目前有很多大佬帮我们弄了sd的安装包,整个安装流程难度几......
  • spring boot简单运用ollama大模型(windows版本)
    1、下载模型(windows为例)打开官方网站https://ollama.com/download/windows。打开exe文件,打开命令行工具,直接运行ollamarun要下载的模型(右上角的models能找到你想要的,例子以llama3.1展示,springai暂时非全支持,支持模型步骤2列出)运行完后直接是这样显示......
  • Windows11 Docker镜像存储路径更改(非C盘路径)
    前言基于WSL2安装docker后,在使用过程中会发现大量的docker镜像文件,使系统C盘容量激增,对电脑后续使用造成不便,所以需要在安装的时候,手动修改docker的镜像地址,使得镜像文件保存到另外的非系统盘中。原因最新的windows提供了新的虚拟化技术(WSL/WSL2),所以设置页面不能镜像的存储位......
  • Windows11下安装Docker
    一、准备工作先下载以下资源,暂时不要安装:Docker安装包Wsl2安装包二、开始安装1.打开主板BIOS的虚拟化选项,可以在任务管理器中确实是否已经打开2.勾上虚拟机平台所有选项(建议完成这一步骤重启)3.用管理员身份打开PowerShell,执行下面命令启动wsldism.exe/online/enable-f......
  • windows配置zed2相机环境
    准备工作1.确保电脑有独立显卡    如图,可以看到示例计算机中,有AMD独立显卡,而Intel为集成显卡。如果这里除了Intel集成显卡外,没有AMD、NVIDIA或者其他品牌显卡,则该计算机不是独显。2.安装anconda来创建zed环境     创建python=3.7的环境进行zed相机调试......
  • P[ostgreSQL16在Windows下安装
    1.官网下载安装包并安装2.安装时遇到问题Problemrunningpost-installstep.Installationmaynotcompletecorrectlty.Thedatabaseclusterinitialisationfailed.解决方法:安装完成后管理员启动cmd,cd到pg的bin目录输入D:\PostgreSQL\bin>initdb.exe-DD:\database......
  • Windows 10 美化 Mac OSX 实用教程
    我前几天给新电脑装上了Windows10系统,想要美化一下,遇到了很多问题,就出了这篇博客,帮大家踩踩坑。在开始之前,先提醒大家一句:美化有风险,玩机需谨慎。为以防万一,请大家在进行任何操作前创建一个系统还原点。首先给大家避避坑,千万别用Steam,不挂梯子根本下载不了,美化资源基本上都要......
  • Windows系统快速删除node_modules目录
    在Windows系统上删除node_modules文件夹通常是一个缓慢且耗时的过程。这主要是由于几个关键因素导致的:主要原因文件数量多且嵌套深:node_modules文件夹通常包含成千上万的子文件夹和文件。由于其结构复杂,文件和文件夹往往嵌套得非常深。Windows在删除时需要遍历每一个子文件夹......
  • CMake编译不同文件目录下的C++文件
        由于我们构建一个项目的时候,通常不会将所有的源文件放在一个文件目录下,这样既不方便开发,也不方便源码阅读,我们通常会对项目文件进行分层,比如分为include、src、res、lib这些目录,src下又分为model、controller、view这些目录。所以跨文件编译C++文件就相当必要了,如......
  • 【C/C++ 软件开发模拟面试 集】cmake 相关知识点模拟面试
    摘自:https://zhuanlan.zhihu.com/p/662623216第一轮:基础知识 1.1什么是CMake? 面试官: 请问你能简单描述一下CMake是什么,以及它通常用来做什么吗? 面试者: CMake是一个跨平台的自动化构建系统,主要用来管理软件构建的过程,它使用一个名为CMakeLists.txt的配置文件来指导编......