我最近正在学习make的vpath,我偶然发现了这个问题:
Makefile vpath not working for header files
当头文件/目录仍然需要使用make的vpath (.h)文件时,是否需要使用g++的.h文件?
发布于 2013-07-24 06:05:54
我认为将“包含”目录(用于.h文件)添加到vpath中的一个原因是为了进行依赖性检查。
您的.c文件应该依赖于它们包含的所有.h文件--因此,如果您更改了一个头文件,所有可能会受到影响的编译单元都会被重新构建。
假设您有一个用于所有.c文件的.c目录,以及一个用于所有.h文件的include/目录。通过使用vpath for include/,并为g++添加-I包含路径,您可以简单地按名称引用所有头文件(在Makefile中),而不必关心它们的路径。
https://stackoverflow.com/questions/17826261
复制相似问题