【发布时间】:2012-08-19 19:48:47
【问题描述】:
在查看构建系统时,其中很多(SCons、bjam、cmake、Tundra 等)都有内置的#include 扫描器。然而 gcc 和 icc 提供了一个 -MMD(或 -MD)选项,它输出 C++ 文件所依赖的头文件的名称。
-MMD 依赖选项似乎是可靠的。如果将#include 添加到 C 文件中,它的时间戳会改变,因此构建系统会重新编译它。如果在头文件中添加#include,它的时间戳会改变,并且会重新编译所有受影响的 C 文件。
包括扫描系统中断,但-MMD 在我看来是健壮的。哪个最好,为什么?
【问题讨论】:
标签: gcc include dependencies icc