Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我最近在学习make'svpath并且偶然发现了这个问题:
make
vpath
Makefile vpath 不适用于头文件
当头文件/目录仍然需要通过使用来包含时,使用make'svpath的头文件(.h)是否有任何意义?g++-I
g++
-I
我可以考虑将“包含”目录(用于.h文件)添加到其中的一个原因vpath是用于依赖性检查。
.h
您的.c文件应该依赖于.h它们包含的所有文件 - 因此,如果您更改头文件,则包含可能受影响的所有编译单元都会重新构建。
.c
假设您有一个src/存放所有.c文件的目录,以及一个include/存放所有.h文件的目录。通过使用vpathforinclude/并添加-I包含路径 for g++,您可以简单地按名称(在 Makefile 中)引用所有头文件,而不必关心它们的路径。
src/
include/