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

gkl3eglg  于 2023-03-20  发布在  Windows
关注(0)|答案(4)|浏览(169)

我正在尝试使用提供给我的makefile编译提供给我的一些代码。我在Windows 10上使用MinGW作为编译器。
我对makefile的经验很少,我创建和运行的makefile也没有我试图用来编译一些代码的makefile那么复杂。
通常当我使用makefile编译时,在命令提示符下,我会转到文件所在的目录,然后输入命令“make”,然后创建一个可执行文件,然后我就可以运行代码了。然而,这次它不起作用了。我得到一条消息,内容如下:
'make'未被识别为内部或外部命令、可操作程序或批处理文件。
下面是make文件的内容:

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

我如何使用这个make文件来运行代码?

zzoitvuj

zzoitvuj1#

MinGW没有提供一个名为make的Make程序,它在MinGW bin目录下提供了一个名为mingw32-make.exe的GNU Make,例如C:\MinGW\bin\mingw32-exe
因此,要运行MinGW的Make程序,必须运行:

> mingw32-make

并且在执行此操作时,MinGW bin目录必须位于PATH中。

ykejflvf

ykejflvf2#

你可以像这个链接中的说明:install and use make in windows
后做喜欢这个指南,你可以使用powerShell在windows运行make命令去你的文件夹,然后选择“文件〉打开Windows PowerShell”

wztqucjr

wztqucjr3#

按照here所述安装MSYS2。运行pacman -S make以安装make
另外,MSYS2还提供了一个最新的GCC和一组预构建的库。
还有mingw32-make,这是一个不同的野兽,如果可能的话可能应该避免。
普通的make使用sh shell(与Linux上的make相同),而mingw32-make使用Windows CMD。
这意味着mingw32-make无法运行某些makefile,因为其中许多makefile需要类似Linux的环境。
从我的经验来看,mingw32-make唯一擅长的是运行CMake生成的Makefile(根据标志的不同,CMake可以生成make风格和mingw32-make风格的Makefile)。

mrfwxfqh

mrfwxfqh4#

我的答案来得很晚.但你得到了正确的答案,MinGW来没有“make.exe”,但与“MinGW-make.exe”,它没有必要去MinGW/bin,它是足够的添加到您的路径这个目录.
内特格吕塞
沃尔夫冈

相关问题