Omnet++ 在配置文件中执行变量运算时出错

Omnet++ 在配置文件中执行变量运算时出错,omnet++,Omnet++,我想根据不同的变量和数字来计算ini变量,但我无法让它工作。我尝试了以下代码的不同版本-有括号和没有括号: warmup-period = ${warmup = 0}s sim-time-limit = ${stime = ${warmup} + 2400}s OMNeT++总是给我这个错误: 错误:无法从中读取选项sim time limit= 配置:分析数量“0+2400s”时出现语法错误:垃圾 在第一个数字之后 我还尝试使用($warmup),而不是按照的建议使用${warump},但这

我想根据不同的变量和数字来计算ini变量,但我无法让它工作。我尝试了以下代码的不同版本-有括号和没有括号:

warmup-period = ${warmup = 0}s
sim-time-limit = ${stime = ${warmup} + 2400}s
OMNeT++总是给我这个错误:

错误:无法从中读取选项sim time limit= 配置:分析数量“0+2400s”时出现语法错误:垃圾 在第一个数字之后

我还尝试使用
($warmup)
,而不是按照的建议使用
${warump}
,但这会导致以下错误:

错误:无法从中读取选项sim time limit= 配置:分析数量“(0)+2400s”时出现语法错误:必须开始 有一个数字


我使用的是OMNeT++5.1版。

不可能为
sim时间限制使用INI变量,因为模拟环境只需要一个数字(带单位)。下面是
src\envir\envirbase.cc
中的一行,它读取
sim time limit
的值:

opt->simtimeLimit = cfg->getAsDouble(CFGID_SIM_TIME_LIMIT, -1);

嗯,这不是100%正确。至少
sim time limit=${stime=2400}s
有效。是的,你是对的。然而,
sim time limit
的读取方式似乎与“普通”变量略有不同。修正:命名
stime
也不起作用,这意味着它没有记录为迭代变量。因此,您是对的。