我正在使用几个 boost 库并使用下面的规则生成自动依赖项。我认为 boost header 确实会减慢编译速度,因为如果 Makefile 中没有包含依赖项,编译项目的速度会快 10 倍。有没有办法 boost 生成依赖项的速度?
%.o: %.cc
$(CXX) $(CFLAGS) $(INCLUDES) -MD -c $< -o $@
@mv $*.d .deps/
@cp .deps/$*.d .deps/$*.tmp
@sed -e 's;#.*;;' -e 's;^[^:]*: *;;' -e 's; *\\$$;;' \
-e '/^$$/d' -e 's;$$; :;' < .deps/$*.tmp >> .deps/$*.d
@rm .deps/$*.tmp
最佳答案
由于您可能不会更改 boost header ,因此没有理由将它们添加为依赖项。通过使用 -MMD 生成依赖文件,系统头文件应该被忽略,因此你的依赖文件应该变小,这意味着 make 必须扫描更少的硬盘驱动器以查看文件是否仍然是最新的等。当然你有包含带有 <> 而不是 ".
的 header关于c++ - 自动生成的依赖导致编译缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11644074/