Eclipse下调用NS2.30(Aqua-Sim)

网上基本资料都是基于下面两篇文章,感谢他们的资料

http://blog.csdn.net/bennyfun79/article/details/5652179

http://bupthuan.blogbus.com/logs/146887613.html


我的编译环境是 GCC4.6G++4.6/Aqua-Sim1.0/Ubuntu11.10/Eclipse IDE for C/C++ Developers

我的目录结构是~/NS2/ns-2.30/underwatersensor/uw_tcl/vbf_exam.tcl


(据说:Eclipse一定要在终端的特权模式下打开,不然在eclipse中编译ns会提示权限不够)

A.为了使NS能输出调试信息,需要运行NS2目录下的configure命令。

具体做法是:

进入NS安装目录(~/NS2/ns-2.30)   cd ~/NS2/ns-2.30
执行configure命令: ./configure –enable-debug  //这样会使ns编译时的char转换从警告变成错误,导致无法编译,所以我推荐另一种做法:
在ns-2.xx/下的Makefile文件中的CCOPT    =  -Wall改成CCOPT    = -g -Wall 即可(在Makefile中有两处CCOPT,都需要加-g)

B.将Eclipse的workspace 指定到~/NS2/ns-2.30:具体做法是在Eclipse中点击file->Switch Workspace->Other ,然后在出现的框中选择~/NS2/ns-2.30, 然后关闭并重新打开Eclipse即可。
C.新建C++  makefile工程:在project Explorer中右键,新建C++工程;输入工程名字ns-2.30(会提示你覆盖原来的文件夹,没事的), 设置工程属性,位置是ns的安装目录即:~/NS2/ns-2.30,类型是Makefile Project -> Empty C++ Project,tool chain 选GNU Autotools Toolchain,点击finish.
E.设置Run属性:右击项目名称,选择properties, 在出现的属性页的左边选 Run/Debug Settings, 点击右边的New按钮,在随即弹出的窗口中选中C/C++ Local Application, 点击OK按钮,会弹出一个Properties for New_configuration的框,在Main页的C/C++Applicaion中选择NS的可执行文件(~/NS2/ns-2.30/ns,此ns可执行文件约6M大小)即可。注:此时也可以I成功运行,但是不能跟踪源码,因为-g的编译信息还没有加载到ns


F. 运行: 做好以上设置后可以编译,并运行ns。编译时在Eclipse中点击project-> clean, project->build all, 编译需要大约10分钟(一堆warning)左右的时间,此时的ns可行性文件约有16M。现在可以运行, 运行后Console中的提示符变为%,此时可在Console中执行NS命令。比如可输入:
Puts “Hello NS2” 会输出: Hello NS2

这表明在Eclipse中调试NS基本成功了!注意能否跟踪源码
G.设置Arguments:NS有两种运行方式,在终端中直接输入ns,会出现%提示符,在该提示符下可输入NS命令。上一步所示属于这种方式。在跳出提示符%后,这种方式直接ns example1.tcl会提示错误,网上说cd去example1.tcl所在目录可以解决。但是Eclipse执行.tcl貌似只能用下一种方法 

另一种方式是在终端输入某个tcl文件的名字,比如有一个example1.tcl文件,在该文件所在目录下打开一个终端,输入ns example1.tcl即可执行该文件,此种方式如同批处理的方式运行tcl文件中的ns命令。这种运行方式在Eclipse中需要设置。

进入Properties for New configuration框,点击Run/Debugsetting中edit, 在其中的program arguments框中输入underwatersensor/uw_tcl/vbf_exam.tcl并保存即可。注意,此时,example1.tcl应处于项目目录下,假设Eclipse中的NS项目名为:ns-2.30, 则项目录为~/NS2/ns-2.30。
H. G步完成后,再在Eclipse中运行ns, 则相当于在终端中执行ns example1.tcl一样的结果。以后如果需要运行不同的tcl文件,在用G步的方法修改运行参数即可。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值