Scons 是否在命令行中将有值参数传递给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

你们怎么把有值的参数传递给SCON?我通过了它,不幸的是,我仍然不清楚。我以前从未用过

请考虑<强> <强>生成脚本。

下面是它的代码片段

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)