我有一个简单的 make 文件:
CC=gcc
output.exe: main.o
$(CC) main.o -o output.exe
main.o: main.cpp
$(CC) -c main.cpp -o main.o
clean:
rm *.o
当我跑步的时候
make clean
我得到下一个输出和错误:
rm *.o
process_begin: CreateProcess(NULL, ls, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [Makefile:10: clean] Error 2
注意!当我运行一个简单的make
命令时:
make
我没有收到任何错误并且一切运行顺利。
这个错误是怎么回事?
rm
不是 Windows 上存在的命令。至少默认情况下不存在。我建议安装MSYS2并在其中安装 Make。MSYS2 提供了类似 Linux 的实用程序的端口,包括
rm
。使用它的 make 将使您可以访问rm
(除其他外),这比尝试通过在 Windows 上切换到不同的命令来编写跨平台 makefile 要容易得多。或者,作为快速修复,使用特定于 Windows 的命令(
del *.o
,我相信?)。