SCONS StaticLibrary在更改标头后未重建

SCons StaticLibrary not rebuilt after header change

本文关键字:重建 StaticLibrary SCONS      更新时间:2023-10-16

在此示例中,foo.c包括foo.h.。当更改foo.h时,foo.c将重建为foo.o,但libfoobar.a却不是。

Import('env')
penv = env.Clone()
penv.Append(CPPPATH=['./'])
penv.StaticLibrary('foobar',[
        'foo.c',
        'bar.c',
    ],
)

有任何提示?

在SCONS中,A decider 是决定是否需要重建目标的方法。默认决定器是MD5。这意味着,即使对象文件被重新构建,其MD5不变,也没有任何包含/链接对该对象需要重建的链接。这与制造相反,它使用文件系统时间戳来决定是否重建目标。

因此,如果您的标头文件更改为空格或其他微不足道,则依赖性树中的对象文件上方没有任何重新构造的对象文件。