Scons Environment()奇怪的行为

时间:2017-10-14 05:19:41

标签: environment scons

我正在玩scons build。当我使用以下内容导入我的系统路径时:

env = Environment(ENV={'PATH' : os.environ['PATH']})

假设我正在使用gcc编译器,路径在C:\ cygwin \ bin

中设置

上述工作非常完美,但是如果我尝试拆分它们的话:

ENV={'PATH' : os.environ['PATH']}
env=Environment(ENV)

以下错误表明路径未正确添加...

g++: error: /Fomaino.obj: No such file or director
g++: error: /c: No such file or directory
g++: error: /I.: No such file or directory

它不起作用?我甚至尝试过以下方法:

 env=Environment()
 env['PATH']= os.environ['PATH']

同样的错误

g++: error: /Fomaino.obj: No such file or director
g++: error: /c: No such file or directory
g++: error: /I.: No such file or directory

我尝试在SCONS用户指南中使用以下内容

env['ENV']['PATH'] = 'C:/cygwin/bin'

也失败了。

我已经有了一种工作方法,但我很好奇为什么其他两种方法失败了,我认为在逻辑方面它们是相同的......或者我错了......

1 个答案:

答案 0 :(得分:0)

您要在Environment中设置的任何其他SCons Environment变量都应作为关键字参数传递给Environment构造函数:

Environment(VAR=VALUE)

来自SCons Users Guide

  

Environment([key=value, ...]) , env.Environment([key=value, ...])

     

返回用指定的初始值初始化的新构建环境   key=value对。