我的C代码包含#ifdef FOO
。可以在SCons命令行中添加一些内容来设置定义,而无需修改SConstruct
/ SConscript
文件?
我知道有一个构造变量CFLAGS
,如果我能够-DFOO
进入它,那应该可行。但是,我找不到从命令行设置构造变量的方法。
答案 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。