ns3+eclipse
注:本文仅以 ns-3.23 作为演示,现在 ns3 已经更新到 3.27,大家只需要对号入座即可。
为了更好的学习 ns3,方便查看 ns3 的源代码和编程,和大家分享一个方法,ns3+eclipse
首先系统必须安装 jdk:JAVA 的编译环境。
需要的源码包有 ns-allinone-3.23.tar.bz2(3.22 也行),eclipse-cpp-mars-R-linux-gtk.tar.gz
(C++版本的 eclipse)
(以上的代码包括 jdk 安装包我都有,需要的可以问我拿)
首先解压 eclipse-cpp-mars-R-linux-gtk.tar.gz:
tar -xvf eclipse-cpp-mars-R-linux-gtk.tar.gz
会在当前目录下有一个文件夹,eclipse
cd ./eclipse
./eclipse -vm $JAVA_HOME/bin/java
你们看到的界面和这个不一样,不过菜单栏应该是一样的。
解压 ns-allinone-3.23.tar.bz2:
tar -xvf ns-allinone-3.23.tar.bz2
解压后会在当前文件夹中看到 ns-allinone-3.23
如果之前已经在系统编译过 ns3 的相关源代码,则编译 ns3 所需要的组件应该已经具备了,
如果之前没有编译过 ns3 代码的话,请查看文档 ns-3-tutorial3.23.pdf 文档。
在打开的 eclipse 中,File->new->C++Project
然后填入工程名字,源代码的位置,project type 下 Empty Project 选 Executable->Empty
Project,Toolchains:选择 Linux GCC。如下图:
继续
Next,
在
Confi
gurati
ons
上面
有
Debu
g 和
Relea
se 版
本,
Debu
g 必
须,
Relea
se 你
自己
喜
欢,
然后
点击
当前
对话
框的
Adva
nced
settin
gs 继续相关配置
选中 C/C++Build,看右边 tab 栏,点击 Builder Settings,不要勾选 Use default build command,然
后在 Build command:把 ns3 目录下的 waf 编译器的目录路径填上,
如/home/haoxiaozi/ns-allinone-3.23/ns-3.23/waf
在 MakeFile Generation 中,不要勾选两个复选框,然后在 Build directory 中填入想要编译生
成的目标文件路径:/home/haoxiaozi/ns-allinone-3.23/ns-3.23/如下图,记得在你的目录下创建
一个 build 目录 mkdir build
然后点击 tab 中的 Behavior,在 Workbench Build Behavior 中勾选 Build(Incremental build),
把 all 改为 build,然后点击 apply,最后 OK
这个时候回到工程页面,可以看到如下图所示
右键你建立的工程名,ns3_23,然后选中 build project,工程开始编译,目前这样的结果和我们在
终端里面编译的结果是一样的,使用了默认的编译选项,如果你想编译其他选项,可以在终
端,先使用命令执行:
./waf configuration --enable-tests --enable-examples
如何配置可参考 ns-3-tutorial3.23.pdf,
然后再使用 eclipse 编译即可,目前看起来好像和在终端上编译没什么两样,但是你在
eclipse 看源代码的时候,以及编程的时候,你会发现其好处:
常用的快捷键是 F2 和 F3,自己尝试一下是什么功能,而且在你编程的时候,你将会喜欢上
这种感觉,不用去看 ns3 官网提供的库文件,因为 eclipse 提供了相关提示,很方便编程。
想要在该工程中跑自己的程序:
选中自己的工程,在菜单栏上 Run->External Tools->External Tools Configuration
新建一个配置文件:
按下图配置,类似于终端的执行过程
点击 Run 即可编译和运行,运行结果如下所示:
以上参考网址:https://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3
用 eclipse 来开发有个好处就是可以 debug 我们自己写的代码,下面介绍进行 Debug 的两个
步骤,看下图对应设置即可。
新建一个 debug 的应用,添加 project 名和通过 browse 浏览选择我们需要进行 debug 的
文件。
完了之后要设置环境的路径,具体看下图