我有非系统头文件,我用它来通过 SCons 编译程序。问题是它们有时会发生变化,但 SCons 似乎根本没有扫描标题中的变化。有没有办法告诉 SCons 扫描标题以进行更改?
问问题
1102 次
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'])
如果在CCFLAGS
orCXXFLAGS
构造变量中指定了包含路径,则不会扫描该路径中的包含文件以进行更改。这些变量之一中指定的包含路径必须预先-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 回答