使用 scons 我可以轻松设置我的包含路径:
env.Append( CPPPATH=['foo'] )
这传递了标志
-Ifoo
to gcc
不过,我正在尝试在启用大量警告的情况下进行编译。
特别是与
env.Append( CPPFLAGS=['-Werror', '-Wall', '-Wextra'] )
它在某些Boost包含上可怕地死掉了...我可以通过将Boost包含添加到系统包含路径而不是包含路径来解决这个问题,因为gcc以不同的方式对待系统包含。
所以我需要传递给 gcc 而不是 -Ifoo 的是
-isystem foo
我想我可以使用 CPPFLAGS 变量来做到这一点,但想知道 scons 中是否有更好的解决方案。
没有内置方法可以在 SCons 中传递 -isystem include 路径,主要是因为它非常特定于编译器/平台。
将其放入 CXXFLAGS 中即可,但请注意,这将从 SCons 的依赖项扫描器中隐藏标头,该扫描器仅查看 CPPPATH。
如果您不希望这些标头发生更改,这可能没问题,但如果您使用构建结果缓存和/或隐式依赖项缓存,则可能会导致奇怪的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)