1.NS2下载
系统:win 8.1 64位
首先在网址:https://www.isi.edu/nsnam/ns/ns-build.html
下载ns-allinone-2.35.tar.gz
点击allinone
点击current release 2.35
下载完成后,手动解压到home/NS2/
#将文件夹ns-allinone-2.35更名为ns,方便操作。
上图是博主的路径,可以作参考。
2.NS2安装
1.执行以下命令:
sudo apt-get update #更新源列表
sudo apt-get upgrade #更新已安装的包
#安装依赖包:
sudo apt-get install build-essential
sudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev
sudo apt-get install libxmu-dev libxmu-headers
2.在 ns/ns-2.35/linkstate/ls.h中代码的137行
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
改为
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }
3.在命令行中输入
ls /usr/bin/gcc* #查看系统已经安装的 gcc 版本
#export CXX=g++-7 #如图版本是gcc-7,需要根据上面查到的版本号自行改动
#echo CCechoCCechoCXX #查看全局变量导入是否成功
4.然后进入下载好文件的目录,就可以执行命令开始安装了:
sudo ./install
安装报错:
解决办法:ubuntu 18.04编译器版本为gcc 7,版本过高,改为gcc 5,安装成功!详情参考:https://blog.csdn.net/weixin_41565755/article/details/79433784
(1)首先看看有没有安装gcc5,输入命令:
ls /usr/bin/gcc*
结果只有/usr/bin/gcc /usr/bin/gcc-7两个,那么我们需要安装gcc 5:
sudo apt-get install gcc-5 gcc-5-multilib g++-5 g++-5-multilib
安装好后输入以下指令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
sudo update-alternatives --config gcc
会看到如下的3 个候选项,可用于替换 gcc
- 0 /usr/bin/gcc-5 50 自动模式
- 1 /usr/bin/gcc-5 50 手动模式
- 2 /usr/bin/gcc-7 40 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号: 要想用哪个gcc就输入编号吧。 同样也要设置一下g++的:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 40
如果想删除可选项的话可以键入以下指令:
sudo update-alternatives --remove gcc /usr/bin/gcc-5
下面是查看g++版本可切换的:
sudo update-alternatives --config g++
完成以上步骤后,查看一下系统已经安装和当前使用的 gcc 版本,然后再次输入命令:sudo ./install
,完成NS2的安装。安装成功示意图:
注意:gcc和g++的版本在同时切换到相同版本,比如:gcc7、g++7,切换到gcc5、g++5,才能编译成功。
3.环境变量
根据提示配置环境变量,打开home/用户名下的./bashrc文件添加如下:
export PATH="$PATH:/home/cao/NS2/ns/bin:/home/cao/NS2/ns/tcl8.5.10/unix:/home/cao/NS2/ns/tk8.5.10/unix"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/cao/NS2/ns/otcl-1.14, /home/cao/NS2/ns/lib,"
export TCL_LIBRARY="$TCL_LIBRARY:/home/cao/NS2/ns/tcl8.5.10/library"
打开一个新的终端,输入:ns
,如果出现:%,就是安装成功了。如果提示“command not found”则重新启动试试。