Scons 是否在命令行中将有值参数传递给SCON?
你们怎么把有值的参数传递给SCON?我通过了它,不幸的是,我仍然不清楚。我以前从未用过Scons 是否在命令行中将有值参数传递给SCON?,scons,Scons,你们怎么把有值的参数传递给SCON?我通过了它,不幸的是,我仍然不清楚。我以前从未用过 请考虑 生成脚本。 下面是它的代码片段 add_option( "boost-version", "boost version for linking(1_38)" , 1 , True , "boostVersion" ) boostVersion = GetOption( "boostVersion" ) if boostVersion is None: boostVersion = "" el
请考虑<强> <强>生成脚本。
下面是它的代码片段add_option( "boost-version", "boost version for linking(1_38)" , 1 , True , "boostVersion" )
boostVersion = GetOption( "boostVersion" )
if boostVersion is None:
boostVersion = ""
else:
boostVersion = "-" + boostVersion
我尝试调用了
scons--boost version=1.51
并尝试了scons--boostVersion=1.51
,但都不起作用。您可以使用参数:
您可以在命令行上调用scons boost version=1.51
然后,要获取SConscript中的值:
boostVersion = defaultBoostVersion
if 'boost-version' in ARGUMENTS:
boostVersion = ARGUMENTS["boost-version"]
或者,正如建议的那样:
boostVersion = ARGUMENTS.get("boost-version", defaultBoostVersion)
scons文档的同一页还描述了如何使用
AddOption
您先前尝试过的命令。它也可以使用,但参数(至少对我来说)更容易理解。您可以使用参数:
您可以在命令行上调用scons boost version=1.51
然后,要获取SConscript中的值:
boostVersion = defaultBoostVersion
if 'boost-version' in ARGUMENTS:
boostVersion = ARGUMENTS["boost-version"]
或者,正如建议的那样:
boostVersion = ARGUMENTS.get("boost-version", defaultBoostVersion)
scons文档的同一页还描述了如何使用
AddOption
您先前尝试过的命令。它也可以使用,但论点(至少对我来说)更容易理解。当你说“…没有一个有效”时,到底发生了什么?SCON是否不接受命令行并退出?或者它没有正确地将值存储在boostVersion
变量中吗?当您说“…它都不工作”时,会发生什么?SCON是否不接受命令行并退出?或者它没有正确地将值存储在boostVersion
变量中吗?更短(我认为更可读)的方式是boostVersion=ARGUMENTS.get(“boost-version”,defaultBoostVersion)
更短(我认为更可读)的方式是boostVersion=ARGUMENTS.get(“boost-version”,defaultBoostVersion)