【发布时间】:2013-09-20 22:27:18
【问题描述】:
在这个 make 文件上不断收到错误消息,说“没有规则来制作目标 '/Main.cpp','Main.o' 需要'
HOME = /home/
CC = g++ -Wall -pedantic
PROJ = $(HOME)/Proj1
INCL = -I $(PROJ)
all: main.x
main.x: List.o Summary.o Main.o
< TAB >:$(CC) -o main.x List.o Summary.o Main.o
List.o: $(PROJ)/List.h $(PROJ)/List.cpp
< TAB >$(CC) -c $(INCL) $(PROJ)/List.cpp
Summary.o: $(PROJ)/Summary.h $(PROJ)/Summary.cpp
< TAB >$(CC) -c $(INCL) $(PROJ)/Summary.cpp
Main.o: $(PROJ)/Main.cpp
< TAB >$(CC) -c $(INCL) $(PROJ)/Main.cpp
clean:
< TAB >rm -rf *.o *~ *.x
谢谢!
【问题讨论】:
-
您确定这正是您正在使用的 makefile,以及您看到的 exact 错误吗?在我看来,您在某处拼写错误或重置了
PROJ变量,因此先决条件$(PROJ)/Main.cpp正在扩展到只是/Main.cpp。 -
这个 Makefile 看起来不错。您已经通过添加
< TAB >对其进行了编辑,您还编辑了其他内容吗,或者这与您实际使用的 Makefile 完全相同? -
这是我使用的确切生成文件。刚刚从项目扩展中取出我的姓
-
main.x目标的第一个命令行真的以冒号开头(即:$(CC) -o main.x ...)吗?不知道这应该是什么意思......虽然这可能与你的问题无关...... -
@Rob 您的姓氏、名字和姓氏之间或
PROJ = $(HOME)/Proj1部分后面的其他任何地方是否有空格?
标签: gcc compiler-construction makefile