我有以下目录:
从lab01运行make
时出现以下错误。
No rule to make target 'student/Student.java', needed by 'student/Student.class'. Stop.
创建了Human.class文件,但随后出现错误。
这是我的makefile:
make: Human.class student/Student.class teacher/Teacher.class Lab01.class
Lab01.class: Lab01.java
javac Lab01.java
teacher/Teacher.class: teacher/Teacher.java
javac teacher/Teacher.java
student/Student.class: student/Student.java
javac student/Student.java
Human.class: Human.java
javac Human.java
clean:
del Lab01.class
del teacher/Teacher.class
del student/Student.class
del Human.class
我之前从未使用过makefile,所以我不确定导致错误的原因。有任何想法吗?我正在使用mac os x,如果重要的话。
感谢。
答案 0 :(得分:1)
您正在从lab001
目录运行命令。
路径student/Student.java
在该位置无效。
您需要将makefile移动到toplevel目录(并将lab001
添加到Human.java
和Human.class
条目)或使用../student/Student.java
和../student/Student.class
还有很多其他的事情可以用来改进这个makefile,但那些是你问题的根源。