ns2的折磨

首先最令我开心的是终于让我找到了问题的所在,而且被轻易的解决了!!!

在我们使用ns2的过程中,我们要做的的就是如何能让我们自己的协议代码嵌入到ns2的源码中,如果成功,那这是多么有成就感的事情,但这也是一项具有挑战性的事情,废话不多说了,我先描述下我出问题的经历:

1、编写了一个ping协议,放在ns-allinone-2.35/ns-2.35/myping目录下,以myping.{cc,h}

2、在makefile文件中写入编译的目标以及路径(上网查到http://blog.csdn.net/sxsj333/article/details/45582419中有详细介绍

3、结果出现了这样的错误

大家看到一个wanging:no class variable Agent/simple_trans::simple_port_,按照提示,我去查看tcl-object.tcl,发现上面写的很详细,在ns-default.tcl中未定义packetSize_这个变量,我定义以后,再次编译ns2,当然是make clean,然后 make。接下来,奇怪的事情发生了。。。。


我再次运行ns2,仍然出现上面的问题,网上几乎找遍了,也没有找到答案,因为我的程序代码都是对应着的。(如果你也有这样的问题,那你就中招了)

问题所在: 

第一:在我们安装好ns-allinone包以后,我们一般会按照提示设定path路径在ns-allinone/bin目录下

第二:在初始编译我们会用root去编译源代码,编译完后没有更改过用户权限

这时,无论你怎么改源代码,都无济于事(我是这样的),最后连一个简单的c++与otcl绑定都不能用了,别着急,这时,你打开ns-allinone/ns-2.35目录下,你看看是不是里面有一个ns可执行文件,如果有,那么删除掉,然后直接make一下,在这个目录下运行./ns看看你的问题是否能解决?我的问题就这样解决了。

再次设置packetSize_,已经可以正常运行了。最后设定path路径,这个就不多说了,你会觉得很怪的事情发生,不过你换个角度就能解决,不多说了。

后悔没把图截下来,以上描述希望能描述的和你遇到的问题差不多吧!!

总结:1、看权限

     2、看可执行文件是否生成等问题

    3、查看源代码debug

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值