Makefile给出"没有这样的文件或目录"

时间:2015-09-21 21:15:50

标签: c++ makefile

所以我刚刚解决了一堆编译器问题,最终在大多数情况下运行良好,但是现在我收到了错误

g++  prog4.cc
g++ -o lextest prog4.o Lexer.o Token.o
g++: prog4.o: No such file or directory
make: *** [lextest] Error 1

这是我的makefile

OBJ = prog4.o Lexer.o Token.o
LEXER = Lexer.cc Lexer.h
TOKEN = Token.cc Token.h
OPTS = -g -c -Wall -Werror

lextest: $(OBJ)
        g++ -o lextest $(OBJ)

prog4.o: prog4.cc $(LEXER) $(TOKEN)
        g++ $(OPTS) prog4.cc

Lexer.o: Lexer.cc Lexer.h
        g++ $(OPTS) Lexer.cc

Token.o: Token.cc Token.h
        g++ $(OPTS) Token.cc

clean:
        rm -f *.o *~

任何人都可以在makefile中看到任何明显的错误,或者这个错误是否会由prog4.cc中的问题产生?

对C ++来说很新,所以我希望这只是一些我可以解决的简单错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

您缺少g ++的-c和-o选项

g++ -c -o prog4.o $(OPTS) prog4.cc