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
我最近开始使用 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