如果标题更改,则触发重建

abe*_*ier 4 scons

我有非系统头,我用它来通过SCons编译程序.问题是它们有时会改变,但SCons似乎根本不会扫描标题中的变化.有没有办法告诉SCons扫描标题的变化?

Bra*_*ady 5

假设您正在讨论c/c ++,SCons应该始终扫描头文件,假设包含路径已正确设置为这样做.

如果已使用CPPPATH构造变量指定了包含路径,则将扫描该路径中的包含文件以进行更改.与此变量指定的包含路径不应该有-I添附的,如使用SCons将这样做在便携式方式.

此变量可以附加到如下:

env = Environment()
# These paths WILL BE scanned for header file changes
env.Append(CPPPATH = ['path1', '/another/path', 'path3'])
Run Code Online (Sandbox Code Playgroud)

如果已在CCFLAGSCXXFLAGS构造变量中指定了包含路径,则不会扫描该路径中的包含文件以进行更改.在这些变量中的任何一个指定的包含路径必须-I前缀.当指定系统头包含很可能永远不会改变的路径时,这种方法很有用,从而加快了构建过程.

路径可以附加到CXXFLAGS变量:

env = Environment()
# These paths will NOT be scanned for header file changes
env.Append(CXXFLAGS = ['-Ipath1', '-I/another/path', '-Ipath3'])
Run Code Online (Sandbox Code Playgroud)

以下是其余SCons构造变量的列表.