找不到MinGW-make:cc:命令
MinGW - make: cc: Command not found
我最近开始使用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
相关文章:
- 从命令行c++发送文本文件名
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何使用CMake编译.proto文件来生成.grpcp.pb.cc和.grpc.pb.h文件
- 使用QProcess执行命令,并将结果存储在QStringList中
- 数组长度,为什么从命令行获取时不能使用它?
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- clang整洁10忽略了我的NOLINT命令
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- 如何使用ESP8266向谷歌主页发送命令
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 通过 Openssl 命令行加密,通过 c++ 解密
- CMake "--target install"无需"--build"命令行
- 找不到MinGW-make:cc:命令