根据官方指定文档配置:http://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3
不过到后面的时候就有点小郁闷了,所以此次专门将错误解决办法写出来。强烈建议整个过程不要使用root权限,要么整个过程都用root权限运行(包括运行eclipse);
本次采用的系统是Ubuntu14.04;NS-3.21;EclipseIDE for C/C++ Developers;
ConfigureMercurial
这一步其实不用严格的按照官网上面的进行,使用ns-allinone-3.21.tar.bz2安装包即可,说白了,就是复制并解压至eclipse创建那个文件夹下面就行了(后面详述)
- 下载必要软件
下载eclipseIDE for C++ developers和jre,并做简单的配置,这一步比较简单,基本上不会出现什么问题。
例如我的如下图所示
- 创建项目
- 点击“File->new->C++project”
- 这里project的名字为“Project_ns3_JAN9”,此处应该注意到eclipse会在workspace的目录下面创建一个新的文件夹“NS3_Eclipse”
- 将已经下载的“ns-allinone-3.21.tar.bz2”解压出来的ns-allinone-3.21中的所有文件都剪贴到“NS3_Eclipse”文件夹下面
- 在shell中使用命令“./waf--build-profile=debug --enable-examples --enable-testsconfigure”进行配置
- 运行“./waf”,貌似我第一次等了十分钟左右吧。(注:可以使用./waf -j4指令,即采用4个线程同时编译,速度会快很多)
ConfigureWaf Builder
这一步主要是为了设置eclipse中的编译器为waf,这一步比较简单,只需一步,不会出现什么问题。
在项目名“Project_ns3_JAN9”上面右键,选择properties,在这个Project的Properties中找到C/C++Build:
- BuilderSettings标签中:去掉“Usedefault build command”和“GenerateMakefile automatically”前面的勾
- 设置Buildcommand: ${workspace_loc:/Project_ns3_JAN9/ns-3.21}/waf(此处填的就是waf这个文件的地址)
- 设置Builddirectory: ${workspace_loc:/Project_ns3_JAN9/Debug}(此处的地址并不是很重要,随便填一个)
- Behaviour标签中:设置Build(Incrementalbuild): build
如下图所示
ConfigureTo Run From Eclipse
开始配置eclipse中运行方式,一共有两种配置方法,此处先讲第一种:ConfigureExternal Runner,使用外部工具;
- Run->ExternalTools->External Tools Configurations:如图所示
- Location: ${workspace_loc:/Project_ns3_JAN9/ns-3.21}/waf(填的还是waf文件的地址)
- Working Directory:${workspace_loc:/Project_ns3_JAN9/ns-3.21/scratch}(即那个源文件.cpp地址)
到此时,就可以运行了,运行弹出来的对话框中填入要运行的文件的名字就可以了,例如scratch-simulator,后面不跟.cc。
如下图所示
接下来就会出现运行成功的字样,如
'build' finished successfully (0.308s)
Scratch Simulator
----------------------------------------------------------------------------------------------------------
后面的这一部分也是我弄了半天才搞定的部分,虽说不难,但一直没有明白为什么要这么搞。
ConfigureDebugger
在Run->DebugConfigurations
Main标签中:
- 填写Name:随便填个,不重要
- 填写C/C++Application:${workspace_loc:Project_ns3_JAN9/ns-3.21/build}/scratch/scratch-simulator
- 此处的路径不是乱填了,不论你以前是在哪个目录下成功运行的,但此处一定要填在ns3.21的build下面的scratch下面,而这个文件(scratch-simulator)是在你前面使用外部工具成功运行后自动生成的。
- 填写Project:Project_ns3_JAN9 (项目名)
如下图所示:
Environment标签中:
新增环境变量 LD_LIBRARY_PATH:${workspace_loc:Project_ns3_JAN9/ns-3.21}/build
如下图:
接下来点击Debug就可以调试了。
Configure Runner
也就是第二种eclipse配置方法,其实跟上面Configure Runner差不多,只是打开的为 Run Configuration而已。
Run->Run Configuration