我有一个使用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获取变量或获取默认值,或者是否有更优雅的解决方案?欢迎任何有关不同方法的建议。