设为首页   锐捷官网
用其他帐号登录:
查看: 2271|回复: 2

[WIS课堂] 使用eclipse编译ns-3

[复制链接]

6

主题

29

帖子

1070

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1070
发表于 2016-3-12 17:00:06 | 显示全部楼层 |阅读模式
本帖 * 后由 unrecoverable 于 2016-3-12 17:51 编辑

使用eclipse编译ns-3

1. 概述
习惯可视化编程界面的读者可能不适应命令行下编译调试程序,实际上ns-3程序使用任何一个你熟悉的C++代码编译器都可以,ns-3中源文件(.cc)就是C++程序。这里给大家介绍一个比较优秀的IDE集成开发环境eclipse(就是比较占内存),它支持如JAVA、C/C++、Python、PHP等多种语言,而且跨平台。详细情况请参考:https://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3

2. 安装eclipse和C/C++语言插件CDT
系统环境为Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-24-generic i686)
sudo apt-get install eclipse
sudo apt-get install eclipse-cdt //如果是root用户,sudo可省掉。

1

1
图 1 apt-get安装eclipse
输入y确认后,报错“E: Sub-Process /usr/bin/dpkg returned an error code(2)”,百度一下这个错误2,比较官方的解释如下:

2

2
图2 error code(2)
按照说明操作,结果是it doesn’t work,no ways,于是根据提示思考了一番,断言是自己虽然是root用户,可能是远程桌面的原因,root用户“至高无上”的权限没有发挥出来,于是将root用户当作普通用户一样操作,加sudo解决。

3

3
图3 解决error code(2)
成功安装后,进入首页面会出现C/C++ Development的工程项,Eclipse版本是3.8.1。

4

4
图4 Ubuntu14.04+Eclipse3.8.1
然而,当系统环境为Ubuntu 10.04 LTS - the Lucid Lynx - released in April 2010时,该系统支持到2013年,目前有些软件源不能使用,使用命令行安装eclipse-cdt失败。本人比较偏爱该发布版,一直没有放弃使用。

5

5
图5 Ubuntu10.04+Eclipse3.5.2
解决方法是:用Eclipse的自带的安装功能成功安了CDT组件,主要是找对使用软件源安装老版本Eclipse所对应的CDT地址(Ubuntu 10.04),本人使用的CDT下载地址如图6所示。如果还有不明白的可以百度一下,或者参考http://www.crifan.com/install_eclipse_cdt_plugin/

6

6
图6 Eclipse安装CDT

3. 在eclipse中配置对ns-3的支持

1) 新建ns-3空工程。File -> New -> Project,选择C++Project,Project name可以用ns-3.24.1,选择Empty Project,几步Next之后,直接点Finish如图7所示。

7

7

8

8
图7 新建C++空工程
2) 将ns-3.24.1文件导入eclipse的ns-3.24.1空工程中。将下载的ns-3.24.1压缩包解压,解压后的文件全部复制到刚才建立的工作目录下。

9

9

图8 复制压缩包文件到工程目录
使用./waf -d debug --enable-example --enable-tests configure命令配置一下ns-3项目,然后在ProjectExplorer中的工程上单击右键,选择Fresh,就可以看到导入的所有源文件,如图9所示。

10

10
图9 导入文件后F5

4. 设置eclipse中ns-3编译器为waf
在Project Explore中ns-3.24.1上单击右键,选择Properties,做如下操作:在C/C++ build中的Build Settings选项卡如图2-3所示中,去掉Use default build command复选框中的钩,并在buildcommand中输入${workspace_loc:/ns-3.24.1/waf};去掉Generate Makefilesautomatically复选框中钩,在build directory中输入${workspace_loc:/ns-3.24.1/build}。

11

11
图10 Build Settings选项卡
然后,如图11所示在C/C++ build中的behaviour选项卡中,Workbench Build Behaviour中的复选框都选上,前2个的值置为空, * 后一个是clean。

12

12
图11 behaviour选项卡
* 后单击OK保存。这时就可以点击Build Project进行编译,如图12所示。

13

13

图12 Build


5. 设置eclipse执行程序使用外部工具
选择Run -> External Tools -> External tools Configurations,在Program中右键选择New,name可以设置为ns3-waf,如图2-6所示,在location中设置${workspace_loc:/ns-3.24.1/waf},在workingdirectory中设置${workspace_loc:/ns-3.24.1},argument设置为--run “${string_prompt}”。

14

14
图13 Run
* 后,单击Run,这时输入scratch目录下要执行的程序(不用加后缀名.cc),scratch是ns-3默认执行文件的位置,单击新增的按钮就可以完成仿真。仿真结果会在console中显示,也可以调用PyViz可视化工具显示运行结果,不需要使用trace文件。有关PyViz的纤细内容请参看网址:http://www.nsnam.org/wiki/index.php/PyViz。至此,我们已经成功配置了在eclipse中编译ns-3的所有环境。有关ns-3的安装请参考本人上一篇文章http://bbs.ruijie.com.cn/forum.php?mod=viewthread&tid=2762

6.结语
以上关于在eclipse中编译ns-3相关技术的简单解析,还有很多具体细节的问题没有涉及到。还请各位工程师从网络上获取相关文档并研究。经常访问锐捷社区无线版本的网页,http://bbs.ruijie.com.cn/?fromuser=unrecoverable找到 * 的信息和资料。也非常欢迎您加我好友一起切磋技术,同时也欢迎各位在论坛上提问。

参考文献
https://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3
马春光, 姚建盛. ns-3网络模拟器基础及应用[M]. 北京:人民邮电出版社, 2014


wireless freedom
回复

使用道具 举报

30

主题

122

帖子

1202

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1202
发表于 2016-3-12 17:28:20 来自手机 | 显示全部楼层
技术贴
回复

使用道具 举报

6

主题

29

帖子

1070

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1070
 楼主| 发表于 2016-3-12 17:55:40 | 显示全部楼层

感谢@wxw的长期支持!
wireless freedom
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则