1

我最近在学习make'svpath并且偶然发现了这个问题:

Makefile vpath 不适用于头文件

当头文件/目录仍然需要通过使用来包含时,使用make'svpath的头文件(.h)是否有任何意义?g++-I

4

1 回答 1

1

我可以考虑将“包含”目录(用于.h文件)添加到其中的一个原因vpath是用于依赖性检查。

您的.c文件应该依赖于.h它们包含的所有文件 - 因此,如果您更改头文件,则包含可能受影响的所有编译单元都会重新构建。

假设您有一个src/存放所有.c文件的目录,以及一个include/存放所有.h文件的目录。通过使用vpathforinclude/并添加-I包含路径 for g++,您可以简单地按名称(在 Makefile 中)引用所有头文件,而不必关心它们的路径。

于 2013-07-24T06:05:54.123 回答