4

我有非系统头文件,我用它来通过 SCons 编译程序。问题是它们有时会发生变化,但 SCons 似乎根本没有扫描标题中的变化。有没有办法告诉 SCons 扫描标题以进行更改?

4

1 回答 1

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'])

如果在CCFLAGSorCXXFLAGS构造变量中指定了包含路径,则不会扫描该路径中的包含文件以进行更改。这些变量之一中指定的包含路径必须预先-I添加。当指定系统标头包含很可能永远不会更改的路径时,这种方法很有用,从而加快了构建过程。

路径可以附加到 CXXFLAGS 变量中:

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

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

于 2012-09-10T19:44:57.510 回答