我发现示例替换了 Scons 中的 CCFLAGS 标志,但没有删除标志。例如,如果您有一个具有定义的高级 SConstruct 文件:
baseEnv.Append( CCFLAGS = [ '-Wall', '-D_FORTIFY_SOURCE=1' ])
Run Code Online (Sandbox Code Playgroud)
您想要在较低级别的 Sconscript 文件中删除该标志:
myEnv = baseEnv.Clone()
# Remove '-D_FORTIFY_SOURCE=1' flag from myEnv:CCFLAGS
Run Code Online (Sandbox Code Playgroud)
你会怎样做呢?
您可以在 SConscript 文件中使用如下所示的删除方法:
myEnv=baseEnv.Clone()
if '-D_FORTIFY_SOURCE=1' in myEnv['CCFLAGS']:
myEnv['CCFLAGS'].remove('-D_FORTIFY_SOURCE=1')
Run Code Online (Sandbox Code Playgroud)
我用 SCons 2.3.0 尝试过,效果很好。
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |