我需要将特定于平台的构建变量添加到我正在编写的SCons脚本中,并据此执行此操作,据我所知,我需要在定义构建环境之前创建构造环境变量,以便我可以实际检查平台(env['PLATFORM']
等)如果我这样做,我必须追加变量后,但由于某种原因,它不工作。将“变量”附加到构造环境
env = Environment()
vars = Variables()
if env['PLATFORM'] == 'win32':
default_prefix = 'C:\Program Files\Example'
elif env['PLATFORM'] == 'posix':
default_prefix = '/usr/local/example'
vars.Add(PathVariable('prefix', 'installation path', default_prefix))
env.Append(variables = vars)
print env['prefix'] # error
我发现一个解决方法是只创建环境再次
env = Environment(variables = var)
,但我不知道是否有更好的方法,为什么追加不摆在首位的工作。
'vars.Update(env)'适合我。是额外构建变量的第二个参数吗?再次感谢! – someguy 2012-01-17 18:41:31
第二个变量用于自由函数。 – daramarak 2012-01-17 23:49:55