如何使用 MinGW 编译器在 Windows 命令提示符下使用 Makefile 编译代码?

How to compile code with a Makefile in Windows command prompt using MinGW compiler?

我正在尝试使用提供给我的生成文件来编译提供给我的一些代码。我在 Windows 10 上使用 MinGW 作为我的编译器。

我对 makefile 和我创建的 makefile 的经验很少,运行 远没有我试图用来编译某些代码的 makefile 复杂。

通常当我使用 makefile 编译时,在命令提示符下,我进入文件所在的目录,我只需键入命令 "make" 并创建一个可执行文件,然后我可以 运行 代码。但是,这次它不起作用。我收到一条消息:

'make' is not recognized as an internal or external command, operable program or batch file. "

生成文件的内容如下:

CC=g++
CFLAGS=
INC=
LIB=

all:  sorting

sorting:  Driver.o Helper.o
    $(CC) $(CFLAGS) -o $@ $^ $(LIB)

.cpp.o:
    $(CC) $(CFLAGS) $(INC) -c -o $@ $^ 

Driver.cpp:  Sorting.hpp Helper.cpp

Helper.cpp:  Helper.hpp

clean:
    rm -f *.o sorting

如何使用此生成文件来 运行 代码?

您可以按照link中的说明进行操作:

按照本指南操作后,您可以使用 windows 中的 powerShell 运行 通过转到您的文件夹然后 select "File > Open Windows PowerShell"[=11= 创建命令]

MinGW 不提供名为 make 的 Make 程序。它提供 GNU Make 例如,在 MinGW bin 目录中使用名称 mingw32-make.exe C:\MinGW\bin\mingw32-exe.

所以要运行 MinGW的Make程序,你必须运行:

> mingw32-make

当您这样做时,MinGW bin 目录必须在您的 PATH 中。

我的回答来得太晚了。但是你得到了正确的答案,MinGW 不是带有“make.exe”而是带有“MinGW-make.exe”,而且不需要去 MinGW/bin,它足以添加到你的路径这个目录。

内特·格吕埃

沃尔夫冈

按照说明安装 MSYS2 。 运行 pacman -S make 安装 make.

作为奖励,MSYS2 提供了最新的 GCC 和一堆预构建的库。


还有 mingw32-make,这是另一种野兽,应该尽可能避免。

普通的make使用shshell(与Linux上的make相同),而mingw32-make使用Windows 命令.

这意味着 mingw32-make 无法 运行 某些 makefile,因为它们中的许多人希望有一个 Linux 类似的环境。

根据我的经验,mingw32-make 唯一擅长的是 运行ning 由 CMake 生成的 Makefile(它可以生成 make 风格和 mingw32-make-风味的 makefile,取决于标志)。