我最近在了解make
vpath
make
,我偶然发现了这个问题:
Makefile vpath not working for header files
当vpath
使用g++
仍然需要包含头文件/目录时,是否有{/ 1}} -I
用于标头(.h)文件}}?
答案 0 :(得分:1)
我可以考虑将“include”目录(对于.h
文件)添加到vpath
的一个原因是进行依赖性检查。
您的.c
文件应该依赖于它们包含的所有.h
文件 - 因此,如果更改头文件,则会重新构建包含可能受影响的所有编译单元。
假设您的所有src/
文件都有.c
目录,所有include/
个文件都有.h
目录。通过对vpath
使用include/
,并为-I
添加g++
包含路径,您只需按名称(在Makefile中)引用所有头文件,而不是必须关注他们的道路。