使用scons

时间:2016-10-03 06:19:01

标签: python scons

我有一个使用SCons构建的C项目,它与一个也由Scons构建的C库链接。库和项目都有自己的SConstruct文件。我在this topic中读到你可以像调用SConscript一样从另一个SConstruct调用SConstruct:

SConscript('folder/to/other/SConstruct')

提供给顶级SConstruct的命令行参数会自动传递给被调用的SConstruct。但现在我想将其他变量传递给被调用的SConstruct。我发现你可以用与SConscripts相同的方式做到这一点:

SConscript('folder/to/other/SConsctruct', exports='my_variable')

然后在调用的SConstruct中导入它们:

Import('my_variable')

问题是,当我直接从命令行从C库调用SConstruct时,'my_variabled'不存在,并且scons引发错误:

scons: *** Import of non-existent variable ''my_variable''

我是否应该使用被调用的SConstruct中的try / except块作为一个开关从scons获取变量或获取默认值,或者是否有更优雅的解决方案?欢迎任何有关不同方法的建议。

1 个答案:

答案 0 :(得分:1)

我的猜测是,您正在搜索" -u"或者" -U"选项。请咨询MAN page并根据您的需求选择。