中华视窗是诚信为本,市场在变,我们的诚信永远不变...
文章目录
前言
由于课程需要使用ns2来模拟无线网络节点的工作原理,因此搭建并记录操作步骤。 同时,ns2也是为了其他需求而构建的。
学生们提出了一个计划。
提示:以下为本文正文。 以下案例可供参考。
1、安装准备
1.根据
①安装ns2运行所需的软件包
sudo apt-get install libxt-dev libx11-dev libxmu-dev
②安装依赖包
sudo apt-get install build-essential
2、下载ns2安装包ns-allinone-2.35.tar.gz并解压。
① 从官网下载安装包。 点击后,您需要等待一段时间才会打开下载窗口。
②在Ubuntu上创建一个文件夹XX(自己命名),将压缩包拖入其中,然后解压得到ns-allinone-2.35。
mkdir ns2
tar xvfz ns-allinone-2.35.tar.gz
不要忙于./install。 由于gcc版本太高,编译时可能会报错。
3.安装低版本的gcc和g++
注意:直接 sudo apt-get install g++-4.8 会报错:
Package has no installation candidate
①在./etc/apt/sources.list文件中添加:deb [URL]bionic main Universe
②然后更新下载源:sudo apt update
③安装gcc-4.8和g++-4.8: sudo apt-get install gcc-4.8 g++-4.8
④查看当前系统安装的所有gcc和g++版本:
ls /usr/bin/gcc*
ls /usr/bin/g++*
⑤将4.8版本添加到gcc候选中,末尾的数字为优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 40
如果要删除候选项,命令如下:
sudo update-alternatives --remove gcc /usr/bin/gcc-4.8
注意:切换时gcc和g++版本必须一致,否则后面会报错。
⑥检查g++版本是否切换:gcc -v
2.安装开始~~ 1.编译安装ns-allinone-2.35
1. 输入ns-allinone-2.35开始安装。
cd ns-allinone-2.35
./install
2. 稍等片刻。 文件编译后,如果出现类似下图的内容,则初始安装成功。
3、可能出现的错误
①擦除错误
linkstate/ls.h:137:20: note: use ‘this->erase’ instead
make: *** [linkstate/ls.o] Error 1
Ns make failed!
解决方案:更改第137行 voiderasAll(){erase(baseMap::begin(),baseMap::end()); }
更改为 void EraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
保存并重新执行./install,安装成功完成。
②哈希错误
如果您按照步骤操作,就不会发生这种情况。 (●'◡'●)
如果仍然出现这种情况,请查看此解决方案。
2.配置环境变量! !
1.进入当前用户环境变量
gedit ~/.bashrc
2.在文档最后添加以下环境变量
注意,NS_HOME是ns-allinone-2.35的绝对位置(准备部分步骤2的②中的位置)
export NS_HOME=/home/用户名/XX/ns-allinone-2.35
export PATH=$PATH:$NS_HOME/bin:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NS_HOME/otcl-1.14:$NS_HOME/lib
export TCL_LIBRARY=$TCL_LIBRARY:$NS_HOME/tcl8.5.10/library
3、检查是否安装成功?
打开新终端,输入ns,看是否出现%。
如果出现则说明安装成功。
如果没有,请返回步骤 2 再查看一次。 很有可能是环境变量没有配置好。
总结
本文主要记录我搭建ns2的过程。 看起来很简单,步骤也很少。 实际搭建的时候,还是要经历很多坑。 主要原因是ns2版本太旧,当前的gcc版本不适合它。 ,太高。 我希望这篇文章可以帮助您一次性完成设置。 φ(゜▽゜*)♪
参考