MinGW - make: cc: 命令未找到

MinGW - make: cc: Command not found

我最近开始使用 MinGW,但在 make 上使用 Windows 时遇到了问题。我的目录结构是这样的:

Makefile
p001.cpp
p002.cpp
p003.cpp
bin\

我的 Makefile 看起来像这样:

CC=g++
BIN=bin

%: p%.cpp
    $(CC) p$*.cpp -o $(BIN)/p$*

但是当我使用 make 时出现错误:

> make 001
cc p001.cpp -o bin/p001
make: cc: Command not found
make: *** [001] Error 127

我不确定这里有什么问题。据我所知,当找不到指定的编译器时,变量 CC 默认为 cc 。我不明白为什么会这样。 g++ 在我的系统路径变量中,只需使用 g++ p001.cpp -o bin/p001 即可。

我不确定你到底想用这个做什么,但我假设你想做这样的事情:

CC=g++
BIN=bin

all: p

p: p001.o p002.o p003.o
    $(CC) -o $(BIN)/program.exe p001.o p002.o p003.o

p001.o: p001.cpp
    $(CC) -c p001.cpp

p002.o: p002.cpp
    $(CC) -c p002.cpp

p003.o: p003.cpp
    $(CC) -c p003.cpp

OP在这里。我能够通过在 makefile 的开头放置注释行 line/empty 来简单地解决问题。之后它工作得很好。我还不知道为什么会这样。我修改后的 makefile 如下所示:

# this is a comment
CC=g++
BIN=bin

%: p%.cpp
    $(CC) p$*.cpp -o $(BIN)/p$*

调用 C++ 编译器时应使用 $(CXX)$(CC)用于编译C代码。

MinGW 未随 cc 一起提供,因此 $(CC) 将无法工作。您应该将其定义为 gcc 作为环境变量以使其工作。另一种选择是将 gcc.exe 复制到 cc.exe