找不到MinGW-make:cc:命令

MinGW - make: cc: Command not found

本文关键字:命令 cc 找不到 MinGW-make      更新时间:2023-10-16

我最近开始使用MinGW,在Windows上运行make时遇到问题。我的目录结构如下:

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就可以了。

OP此处。我只需在makefile的开头放一个注释行/空行就可以解决这个问题。之后一切都很顺利。我还不知道为什么会这样。我修改后的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

我不确定你到底想用它做什么,但我认为你想做这样的事情:

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