任何构建工具都可以自动理解C++项目中的文件依赖性?

yeg*_*256 2 c++

我有一个包含50多个.h文件和50多个.cpp文件的项目.我正在使用make构建一个看起来像这样的项目(它只是整个文件的一部分):

HEADERS := $(shell find $(INCLUDE) -name "*.h")
%.obj: %.cpp $(HEADERS)
    $(CPP) $(CPPFLAGS) -fPIC -o $@ -g -c $<
Run Code Online (Sandbox Code Playgroud)

当我对一个.h文件进行更改时,必须重新编译整个项目.这很麻烦,很费时间.但我不想在内部硬编码文件依赖Makefile,因为它更耗时.我想有一些类似make工具,它会在我的.cpp/ .h文件中自动找到依赖项.有什么建议?提前致谢!

Luk*_*ský 5

有很多选择,但没有任何完全相同的选择make.许多构建系统会为您生成具有依赖关系的Makefile.CMakeAutomake是两种常用的系统.您可以使用元语言定义项目文件,它将生成Makefile.