MinGW - make:cc:找不到命令

时间:2016-03-26 06:21:14

标签: c++ makefile mingw

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

3 个答案:

答案 0 :(得分:1)

OP在这里。我只需在makefile的开头放一条注释行/空行即可解决问题。之后它运作良好。我还不知道为什么会这样。我修改过的makefile看起来像:

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

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

答案 1 :(得分:0)

我不确定你究竟在尝试做什么,但我认为你正在尝试这样做:

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

答案 2 :(得分:0)

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

MinGW不附带cc,因此$(CC)不起作用。您应该将其定义为gcc作为环境变量以使其起作用。另一种选择是将gcc.exe复制到cc.exe