解决NS3中打开XML文件提示NetAnim版本必须大于等于3.108的问题

  本文已于2017年5月27日更新了内容,更新部分见下面。
  在我写这篇博客时,目前官网的NetAnim最新版本是3.107,之前能好好用的NetAnim换了个系统编译后突然不能用了,提示XML文件需要NetAnim的版本必须不小于3.108:
最小版本3.108
可是官网最新的版本才3.107,google直接搜这个问题,google ns3-users group有不少关于这个话题的,给出的解决办法是,执行下面一条命令:

hg clone -r 002086a646c6 http://code.nsnam.org/netanim

  下载完成后,重新编译,但是编译又出问题了:
百分号变成二进制操作符了
  百分号变成二进制操作符了?是这个意思吗?我是这样理解的,在那个问题后面那人根据错误提示建议把那个cpp文件的第92行的255改成255.0,可是问题依旧,我想那个人是没明白错误是什么,只是看到了int 和 double于是就想把255转成double试试,这个问题很奇怪,因为上面两行代码还在用百分号呢,到这就不能用了,既然提示%是二进制操作符,无法使用,那我们就用最基本的取余的计算方法。
  7对3取余,余数为1,我们怎么计算呢? 7-(7/3)*3 = 1,同样的道理,既然我们知道这句代码是干啥的,就好办了,百分号不能用,我们就用最基本的方法:
这里写图片描述
  定义两个变量a,b不是必须的,只要你不觉得这行代码写的太长。改好之后就能正常编译了,编译完,运行,OK,能够正常打开了。
这里写图片描述

2017年5月27日更新内容
  google ns3-user中已经给出该问题的解决办法,本文也同步更新:

  1. 删除ns3.x(NS3根文件夹)中的NetAnim文件夹(rm -rf NetAnim)
  2. 删除后执行该命令,hg clone -r 002086a646c6 http://code.nsnam.org/netanim
  3. 重新编译

    如果该方法未起作用,请继续使用上述方法。

猜你喜欢

转载自blog.csdn.net/xinwenfei/article/details/71378307