为 C 编译器编写 MakeFile,出现 "no input files" 致命错误
Writing a MakeFile for a C compiler, getting a "no input files" fatal error
我的 MakeFile 是这样的:(这创建了一个主程序,它获取一个文件并生成语法树、TAC 代码等。main.cpp 中使用的 类 和 parser.y 是在 classes.cpp)
中定义
MAIN = main
PARSE = parser
SCAN = scanner
CLASS = classes
compiler: lex.yy.c y.yab.h y.tab.c $(CLASSES).cpp
g++ -std=c++11 -Wno-write-strings -o compiler $(MAIN).cpp
y.tab.c y.tab.h: $(PARSE).y $(CLASSES).cpp
yacc -d $(PARSE).y
lex.yy.c: $(SCAN).l
lex $(SCAN).l
clean:
rm -f lex.yy.* y.tab.* *.tokens *.syntree *.tac *.log compiler
但是当我 运行 让我得到
g++ -o .cpp
g++: fatal error: no input files
compilation terminated.
<builtin>: recipe for target '.cpp' failed
make: *** [.cpp] Error 1
我该如何解决?
“error: no input files”表示源文件不存在。常见原因是您移动或删除了一些 src 文件。
我的 MakeFile 是这样的:(这创建了一个主程序,它获取一个文件并生成语法树、TAC 代码等。main.cpp 中使用的 类 和 parser.y 是在 classes.cpp)
中定义MAIN = main
PARSE = parser
SCAN = scanner
CLASS = classes
compiler: lex.yy.c y.yab.h y.tab.c $(CLASSES).cpp
g++ -std=c++11 -Wno-write-strings -o compiler $(MAIN).cpp
y.tab.c y.tab.h: $(PARSE).y $(CLASSES).cpp
yacc -d $(PARSE).y
lex.yy.c: $(SCAN).l
lex $(SCAN).l
clean:
rm -f lex.yy.* y.tab.* *.tokens *.syntree *.tac *.log compiler
但是当我 运行 让我得到
g++ -o .cpp
g++: fatal error: no input files
compilation terminated.
<builtin>: recipe for target '.cpp' failed
make: *** [.cpp] Error 1
我该如何解决?
“error: no input files”表示源文件不存在。常见原因是您移动或删除了一些 src 文件。