【发布时间】:2016-03-11 13:53:13
【问题描述】:
在我见过的 makefiles 示例下,头文件被列出(并且仅列出)作为这样的目标的依赖项,没有特定规则以 cc 文件的目标方式定位头文件本例中的规则
sample1.o : sample1.cc sampleheader1.h
g++ -Wall -c sample1.cc
我的项目有这样的目录结构 源代码/你好.cc 头文件/cctz.h
cctz.h 是 hello.cc 包含的头文件。
但是,当我为我的项目创建 makefile 时,make 抱怨 hello.o 需要 no rule to make target 'cctz.h。 makefile 在我的src 目录中,因此../headers 到达cctz.h
CPPOPTIONS = -I../headers
all: hello
hello: hello.o
g++ -Wall -o $@
hello.o: hello.cc cctz.h
g++ -Wall $(CPPOPTIONS) -c hello.cc
所以,在我的程序中,我需要 target 头文件,但在我见过的其他 makefile(例如我提供了一个 sn-p )中,头文件仅列为目标的依赖项,并且存在没有规则可以做到。我做错了什么或者为什么我需要针对我的情况下的cctz.h 文件(以及我该怎么做)
【问题讨论】: