NS3系列——eclipse + NS3环境搭建
1. 安装NS3
(1)在 ubuntu12.04 中安装 ns3.20,首先要安装一下各种依赖软件:
sudo apt-get install gcc g++ python
sudo apt-get install python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl
sudo apt-get install flex bison libfl-dev
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi
sudo apt-get install python-pygoocanvas libgoocanvas-dev
sudo apt-get install libboost1.46-dev
sudo apt-get install libboost-filesystem1.46-dev
sudo apt-get install libboost-signals-dev libboost-filesystem-dev
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev
(2)下载 NS3.20
mkdir tarballs
cd tarballs
wget http://www.nsnam.org/release/ns-allinone-3.20.tar.bz2
tar xjf ns-allinone-3.20.tar.bz2
(3)编译
cd ns-allinone-3.20
./build.py
cd ns-3.20
./waf distclean
./waf configure --enable-examples --enable-tests
./waf build
(4)测试
./test.py
2.安装 Eclipse
(1)下载安装 jdk
1、 下载安装文件
在JDK的官网www.Oracle.com上,进入下载页面后选择接受授权协议,然后选择对应文件下载。本文安装实践中选择LinuxX86对应的jdk-7u17-linux-i586.tar.gz,至于jdk-7u17-linux-i586.rpm的安装可参考其它文献。
对于下载方法,可以使用命令,也可以手动下载,各有所好,无须强求。
2、 解压缩至目标文件夹
如果目标文件夹存在则跳过此步骤,否则输入如下命令创建目标文件夹:
sudo mkdir /usr/lib/jvm
输入如下命令将jdk-7u17-linux-i586.tar.gz解压至目标文件夹:
sudo tar -zxvf ./jdk-7u17-linux-i586.tar.gz -C /usr/lib/jvm
需要注意的是,本文安装实践中jdk-7u17-linux-i586.tar.gz在当前用户的根目录下,tar命令的第二个参数为./jdk-7u17-linux-i586.tar.gz,当然可以使用绝对路径,不再赘述。
3、 添加环境变量
输入如下命令打开文件:
gedit ~/.bashrc
在.bashrc文件末尾假如如下语句:
#java jdk configuration
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_17
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
输入如下命令运行使其立即生效:
source ~/.bashrc
本文安装中环境变量的修改在~/.bashrc中,仅针对当前用户,如果修改/etc/profile则针对所有用户。
4、 测试JDK
输入如下命令查看JDK版本:
java -version
如若安装成功则显示如下内容:
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Server VM (build 23.7-b01, mixed mode)
5、 配置默认JDK版本
如果系统中仅有一个JDK,则上述步骤已完成相应安装。但如果系统存在多个JDK,如openjdk和sunjdk同时存在,则需要借助下述步骤配置默认JDK。
1)执行如下命令:
sudo update-alternatives --install /usr/lib/java java/usr/lib/jvm/jdk1.7.0_17/bin/java 300
sudo update-alternatives --install /usr/lib/javac javac/usr/lib/jvm/jdk1.7.0_17/bin/javac 300
2)执行如下命令:
sudo update-alternatives --config java
此时系统会列出各种JDK版本相关信息,其中被“*”标注的为默认JDK。如果要维持当前默认JDK,按回车键即可;否则输入相应JDK的编号将其设置为默认版本。
(2)下载 eclipse
1、 下载安装文件
在eclipse的官网www.eclipse.org上,进入下载页面后选择接受授权协议,然后选择对应文件下载。本文安装实
践中选择LinuxX86对应的eclipse-cpp-luna-R-linux-gtk.tar.gz,至于eclipse-cpp-luna-R-linux-gtk.tar.gz的安装可参
考其它文献。
对于下载方法,可以使用命令,也可以手动下载,各有所好,无须强求。
2、 解压缩至目标文件夹
输入如下命令将eclipse-cpp-luna-R-linux-gtk.tar.gz解压至目标文件夹:
sudo tar -zxvf ./eclipse-cpp-luna-R-linux-gtk.tar.gz -C /usr/local/
需要注意的是,本文安装实践中eclipse-cpp-luna-R-linux-gtk.tar.gz在当前用户的根目录下,tar命令的第二个参数为./eclipse-cpp-luna-R-linux-gtk.tar.gz,当然可以使用绝对路径,不再赘述。
解压成功后进入eclipse所在的目录
cd /usr/local/eclipse
执行
./eclipse
3、 测试:
进入eclipse后创建c++ project
测试代码:
1 #include<iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 cout << "Hello world!" << endl; 8 return 0; 9 }
这里有一个需要注意的点:
eclipse自身的一个小bug,如果测试不成功可能是因为以下情况:
1)没有Ctrl + S保存一下
2)没有先编译make一下
3)jdk配置存在问题java -version查询
4)eclipse版本问题
3.在 Eclipse 中配置 NS3
(1)新建 NS3 空工程。
初始进入eclipse会提示你将workspace放在什么地方,我放的地方是“/home/xbb/NS3”
File->new->C++ project,Project name 用 NS3,选择 Empty Project,点击 Finish,如图所示。
(2)将 ns-3.20 文件导入 Eclipse 的 NS3 工程中。
将下载下来的 ns-3.20 压缩包解压,将解压后的 ns-3.20 文件夹中的文件全部复制到刚才新建的工作目录下
cd /home/xbb/tarballs/ns-allinone-3.20/ns-3.20
cp -R ./* /home/xbb/NS3/NS3/
进入NS3
cd /home/xbb/NS3/NS3
./waf -d debug --enable-examples --enable-tests configure
配置成功后,在eclipse你所建的NS3工程点击右键选择"refresh"就可以看到你导入的所有文件
(3)设置 Eclipse 中 NS3 编译器为 waf
在 Project Explorer 中的 NS3 上单击右键,选择 properties,做如下操作:在C/C++ build 中的 Build Settings 选项卡如图所示,去掉 use default build command 复选框中的钩,
并在 build command 中输入${workspace_loc:/NS3/waf};去掉 generate makefiles automatically 复选框中的钩,在 build directory 中输入${workspace_loc:/NS3/build}
然后,如图所示在 C/C++ Build 的 Behavior 选项卡中,Workbench BuildBehavior 中的复选框都选上,前 2 个的值都为空,最后一个是 clean。
(4)设置 Eclipse 执行程序使用外部工具
选择 Run->External Tools->External tools Configuration,在 Program 中右键选择 New,
如图 所示, location 中设置${workspace_loc:/NS3/waf}, working directory 中设置${workspace_loc:/NS3},argument 设置为--run “${string_prompt}”
点击run,输入scratch-simulator,点击ok
执行成功后,如图所示