Makefile 生成文件无法创建对象文件

Makefile 生成文件无法创建对象文件,makefile,gnu-make,Makefile,Gnu Make,基本上,我试图创建一个简单的make文件,创建一个lexer.o,然后创建一个driver.o文件,将它们组合成一个可执行文件 下面的代码显示了已尝试的内容。使用GNU make在Windows powershell中运行它 .PRECIOUS = driver.cpp lexer.h lexer.cpp lexer.o: lexer.cpp lexer.h g++ -o $@ -c lexer.cpp driver.o: driver.cpp lexer.h g++ -o

基本上,我试图创建一个简单的make文件,创建一个lexer.o,然后创建一个driver.o文件,将它们组合成一个可执行文件

下面的代码显示了已尝试的内容。使用GNU make在Windows powershell中运行它

.PRECIOUS = driver.cpp lexer.h lexer.cpp

lexer.o: lexer.cpp lexer.h
    g++ -o $@ -c lexer.cpp

driver.o: driver.cpp lexer.h
    g++ -o $@ -c driver.cpp

lex.exe: lexer.o driver.o
    g++ -o $@ $^

clean: 
    $(RM) *.o lex.exe
下面是给出的输出。我原以为它会创建lexer.o文件,但它却找不到它应该创建的文件

g++ -o lexer.o -c lexer.cpp
process_begin: CreateProcess(NULL, g++ -o lexer.o -c lexer.cpp, ...) 
failed.
make (e=2): The system cannot find the file specified.
make: *** [lexer.o] Error 2

它最终只是一个G++安装问题。我切换到Ubuntu并重新安装了所有东西,效果很好。

欢迎使用Stack Overflow。这看起来像是powershell问题,而不是Make问题。这是在抱怨没有找到编译器(g++)。您的系统上是否安装了GCC编译器?如果是这样的话,你的路径上有它吗?@Madscitist你是对的,我也换回了Linux。谢谢你的帮助!