在SCons中,如何临时设置C预处理器

时间:2015-08-18 15:34:11

标签: scons

我的C代码包含#ifdef FOO。可以在SCons命令行中添加一些内容来设置定义,而无需修改SConstruct / SConscript文件?

我知道有一个构造变量CFLAGS,如果我能够-DFOO进入它,那应该可行。但是,我找不到从命令行设置构造变量的方法。

1 个答案:

答案 0 :(得分:1)

不,除非您的SConstructs / SConscripts支持您可以在命令行上提供的某种选项/变量(请参阅UserGuide http://www.scons.org/doc/production/HTML/scons-user.html中的第10章“从命令行控制构建”)

按照设计,SCons使用“干净”的环境(不导入shell变量)来保护您的构建并使它们可重复。你不能简单地通过突然从外部注入标志和选项来覆盖它。 但是,您可以在SConstructs中创建构建环境,以便允许它“导入”某些shell设置(或整个os.environ)。另请参阅https://bitbucket.org/scons/scons/wiki/FrequentlyAskedQuestions#markdown-header-why-doesnt-scons-find-my-compilerlinkeretc-i-can-execute-it-just-fine-from-the-command-line上“最常见问答”的#1。