2010-04-27 72 views
3

我的本意是用编译器命令行包括-DOEM =“FOO BAR”如何生成特定CPPDEFINE如-DOEM =“FOO BAR”使用使用SCons

在我SConstruct我有以下落得文件:

opts = Options('overrides.py', ARGUMENTS) 
opts.Add('OEM_NAME', 'Any string can be used here', 'UNDEFINED') 
. 
. 
. 
if (env.Dictionary('OEM_NAME') != 'UNDEFINED'): 
    OEM_DEFINE = 'OEM=' + str(env.Dictionary('OEM_NAME')) 
    env.Append(CPPDEFINES=[ OEM_DEFINE ]) 

然后我把下面的“overrides.py”文件:

OEM_NAME = "FOO BAR" 

我似乎在获取生成的命令行用“-DOEM = FOO BAR”结束了。有人能指引我朝着正确的方向吗?谢谢。

回答

3

CPPDEFINES可以是字典(scons用户指南有an example)。我找不到摆脱周围引号的方法,所以我必须在字符串周围加倍换码引号:

env = Environment(CPPDEFINES = {'OEM': '\\"FOO BAR\\"'}) 
相关问题