作者:小猪jieao_229 | 来源:互联网 | 2023-07-01 15:43
2021年1月13号
1虚拟机安装: 官网下载VitureBox,我所使用的是目前最新的版本VitualBox 6.16 for windows hosts x86/amd86,下载完成后将语言改成简体中文,并且在设置-高级中可以选择双向复制内容。 在虚拟机上安装Ubuntu,这里选择下载长期支持的18.04版本Ubuntu桌面版镜像文件,然后参照https://blog.csdn.net/u012732259/article/details/70172704的步骤,进行虚拟机安装和配置。 后续继续写。
2修改Linux源: 源要根据Ubuntu版本决定,这里是用的18.04,所以要用模式bionic,我换的是阿里源,复制如下: deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
换源过程:源文件的路径为/etc/apt/sources.list。 (1)先将原始源保存:sudo cp /etc/apt/sources.list /etc/apt/sources_init.list (2)编辑现有文件:sudo gedit /etc/apt/sources.list,将新的源复制进去(设置VBox双向复制内容,如果没有用,可能是镜像文件的问题,重新下载)。 (3)执行命令:sudo apt-get update 以更新软件列表,换源完成。
一些常用命令: ctrl+alt+R:打开虚拟机终端 cd ~/ 切换到家目录下 cd / 切换到目录下 cd … 当前目录的上一级
3必要环境安装 sudo apt-get install gcc g++ python python-dev C++和python sudo apt-get install mercurial NS3代码维护使用的源码版本控制管理系统 sudo apt-get install bzr 运行python绑定ns-3-dev需要bazaar这个组件 sudo apt-get install gdb valgrind 调试工具 sudo apt-get install gsl-bin libgsl-dev libgsl23 支持更多精确WIFI模块的GNU Scientific Library (GSL) sudo apt-get install flex bison libfl-dev 仿真必需的词法分析器和语法分析生成器 sudo apt-get install g+±3.4 gcc-3.4 Network Simulation Cradle (nsc) stacks需要gcc-3.4 sudo apt-get install tcpdump 读取pcap的packet traces sudo apt-get install sqlite sqlite3 libsqlite3-dev 支持统计特性的数据库软件 sudo apt-get install libxml2 libxml2-dev xml的配置存储软件 sudo apt-get install libgtk2.0-0 libgtk2.0-dev 基于GTK的配置系统 sudo apt-get install vtun lxc 在虚拟机and ns-3上测试 sudo apt-get install uncrustify 支持utils/check-style.py 代码风格检查程序 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 python- - pygoocanvas libgoocanvas-dev Gustavo’s ns-3-pyviz的可视化软件 sudo apt-get install libboost-signals-dev libboost-filesystem-dev 支持openflow 模块 sudo apt-get install openmpi* 支持基于 MPI的分布式仿真
问题 (1)在执行sudo apt-get install gsl-bin libgsl-dev libgsl23 支持更多精确WIFI模块的GNU Scientific Library (GSL) 时出现错误提示,将原命令的“libgsl0-dev”替换成“libgsl-dev”就可以。 (2)在执行第15句和第16句的时候出现错误,暂时跳过。
4 NS3下载并安装 这里在Ubuntu上安装百度网盘以下载这些文件,在浏览器里直接搜索百度网盘、下载即可。 链接: https://pan.baidu.com/s/1Fm7kJ1R41f5avIwRr9lwag 提取码:w6lt 直接双击解压就可以。(这里我存在 /下载 里)(后来改为/load)
编译安装 步骤1:在终端进入解压缩文件夹ns-allinone-3.30.1(注意不是ns-3.30),执行命令 sudo ./build.py。
cd ~/下载/ns-allinone-3.30.1 sudo ./build.py
步骤2:配置编译,先进行配置ns3过程,再进行编译ns3过程。
cd ns-3.30.1 sudo ./waf clean //清除先前的配置编译 sudo ./waf -d debug --enable-example --enable-tests configure //基于waf的配置调试方式 sudo ./waf
步骤3:测试ns3编译是否编译正确
sudo ./waf --run hello-simulator
打印"hello simulator",表示NS3安装成功。
5 JDK下载安装cd (https://www.cnblogs.com/mufei/p/10452229.html) 1、 下载安装文件 链接:https://pan.baidu.com/s/1ZUj4RIP00iBmEqZCjpZLHQ 提取码:1vlj 我直接下载在主目录里
2、 解压缩至目标文件夹 如果目标文件夹存在则跳过此步骤,否则输入如下命令创建目标文件夹: sudo mkdir /usr/lib/jvm 然后将主目录里下好的文件复制到该文件夹中 sudo cp jdk-14.0.1_linux-x64_bin.deb /usr/lib/jvm/jdk-14.0.1_linux-x64_bin.deb
然后切换到该文件夹:cd /usr/lib/jvm 输入如下命令将文件安装: sudo dpkg -X jdk-14.0.1_linux-x64_bin.deb
3、 添加环境变量 输入如下命令打开文件: sudo gedit ~/.bashrc 在.bashrc文件末尾加入如下语句: #java jdk configuration export JAVA_HOME=/usr/lib/jvm/jdk-14.0.1 export JRE_HOME=JAVAHOME/jreexportCLASSPATH=.:JAVAHOME/jre export CLASSPATH=.: J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : JAVA_HOME/lib:JREHOME/lib:JRE_HOME/lib: J R E H O M E / l i b : CLASSPATH export PATH=JAVAHOME/bin:JAVA_HOME/bin: J A V A H O M E / b i n : JRE_HOME/bin:$PATH 输入如下命令运行使其立即生效: source ~/.bashrc
本文安装中环境变量的修改在~/.bashrc中,仅针对当前用户,如果修改/etc/profile则针对所有用户。(最好修改成所有用户,这个需要root用户 的权限,不修改就没权限)
4、 测试JDK 输入如下命令查看JDK版本: java --version 如若安装成功则显示如下内容: java version “14.0.1” Java™ SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot™ Server VM (build 23.7-b01, mixed mode)
6 eclipse下载安装 链接:https://pan.baidu.com/s/1un77Cno7d05cjjpwoLYveQ 提取码:urqw
1、解压缩至目标文件夹 输入如下命令将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 中配置 NS3
(1)新建 NS3 空工程 初始进入eclipse会提示你将workspace放在什么地方,我新建了一个文件hhh,Create a C++…-> C++ Managed Build 如下图所示
(2)将 ns-3.30.1文件导入 Eclipse 的 NS3 工程中。 将解压后的 ns-3.30.1 文件夹中的文件全部复制到刚才新建的工作目录下
cd ~/下载/ns-allinone-3.30.1/ns-3.30.1 sudo cp -R ./ ~/hhh/LLL/ *
进入NS3 cd ~/hhh/LLL sudo ./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 中输入workspaceloc:/testproject/waf;去掉generatemakefilesautomatically复选框中的钩,在builddirectory中输入{workspace_loc:/testproject/waf} ;去掉 generate makefiles automatically复选框中的钩,在 build directory 中输入 w o r k s p a c e l o c : / t e s t p r o j e c t / w a f ; 去 掉 g e n e r a t e m a k e f i l e s a u t o m a t i c a l l y 复 选 框 中 的 钩 , 在 b u i l d d i r e c t o r y 中 输 入 {workspace_loc:/testproject/build}
然后,如图所示在 C/C++ Build 的 Behavior 选项卡中, Workbench Build Behavior 中的复选框都选上,前 2 个的值都为空,最后一个是 clean。
(4)设置 Eclipse 执行程序使用外部工具 选择 Run->External Tools->External tools Configuration,在 Program 中右键选择 New,如图所示 点击run,然后在显示的框中输入文件名,这里是scratch-simulator
6问题解决 https://www.cnblogs.com/qq952693358/p/5805183.html 里面提到了两个问题的解决方法,对于1,利用授予权限,去除锁 chmod -R 777 /home/wasdns/workspace/MyNS3_Mac/ns-3.25 ;问题2用下面这个命令解决,其中,user1是用户名,adm是用户组,可以通过cat /etc/group 查看自己的用户名和用户组,后面是ns3项目的build文件夹中的ns3 sudo chown -R user1:adm ~/nstest/testproject/build/ns3 如sudo chown -R yj:adm ~/nstest/testproject/build/ns3