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

测试代码:

 #include<iostream>

 using namespace std;

 int main()
{
cout << "Hello world!" << endl;
return ;
}

这里有一个需要注意的点:

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

执行成功后,如图所示

NS3系列——eclipse + NS3环境搭建的更多相关文章

  1. java+eclipse+selenium环境搭建

    这几天在学selenium,大头虾的我.安装环境还是遇到了挺多问题,赶紧来记录下.不然下次又...(参考虫师的<Selenium2 Java自动化测试实战>),就随便写写加深下自己的印象. ...

  2. python+Eclipse+pydev环境搭建

    python+Eclipse+pydev环境搭建   本文重点介绍使用Eclipse+pydev插件来写Python代码,  以及在Mac上配置Eclipse+Pydev 和Windows配置Ecli ...

  3. 【转】RHadoop实践系列之一:Hadoop环境搭建

    RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

  4. MyBatis学习系列一之环境搭建

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...

  5. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

  6. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建

    大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...

  7. JavaEE开发基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  8. JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

  9. eclipse项目环境搭建(做了好多遍,老是忘记,以此文帮助记忆)

    今天把eclipse的环境搭建好(不能用myeclipse好忧伤). 要求: 1.在svn上管理项目,要下载svn插件. 2.是web所以要用到tomcat插件. 3.将项目运行起来. 流程: ecl ...

随机推荐

  1. ros_indigo使用keyboard键盘控制虚拟或实际机器人

    首先,上参考网址: http://wiki.ros.org/Robots/TIAGo http://wiki.ros.org/teleop_twist_keyboard 第一个,使用TIAGo的gaz ...

  2. C++中const的实现机制深入分析

    via:http://www.jb51.net/article/32336.htm C语言以及C++语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢?本文将对这两个问题进行一些分析,需 ...

  3. AngularJS进阶(十三)JS利用正则表达式校验手机号

    JS利用正则表达式校验手机号 注:请点击此处进行充电! 绪 由于项目需求,需要在前端实现手机号码的校验.当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完 ...

  4. LeetCode之“动态规划”:Dungeon Game

    题目链接 题目要求: The demons had captured the princess (P) and imprisoned her in the bottom-right corner of ...

  5. Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心

    Android特效专辑(八)--实现心型起泡飞舞的特效,让你的APP瞬间暖心 马上也要放年假了,家里估计会没网,更完这篇的话,可能要到年后了,不过在此期间会把更新内容都保存在本地,这样有网就可以发表了 ...

  6. Android服务器——TomCat服务器的搭建

    Android服务器--TomCat服务器的搭建 作为一个开发人员,当然是需要自己调试一些程序的,这个时候本地的服务器就十分方便了,一般都会使用TomCat或者IIS服务器,IIS就比较简单了,其实t ...

  7. RTMPdump(libRTMP) 源代码分析 7: 建立一个流媒体连接 (NetStream部分 2)

    ===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: ...

  8. pandas数据处理基础——筛选指定行或者指定列的数据

    pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构). 本文为了方便理解会与excel或者sql操作行或列来进行联想类比 ...

  9. 阅读源码(IV)

    往期系列: <由阅读源码想到> <由阅读源码想到 | 下篇> <阅读源码(III)> Eric S.Raymond的写于2014年的<How to learn ...

  10. canvas元素

    一.canvas元素的基础知识 canvas元素是html5中新增的一个重要的元素,专门用来绘制图形.在页面上放置了一个canvas元素,就相当于在页面上放置了一块"画布",可以在 ...