上一篇安装好了 ns-3.25,这里继续往里添加 plc 模块。整理之前现推荐一个网站,大家可以参考。
英属哥伦比亚大学(University of British Columbia,UBC)提供NS-3的PLC模块:http://www.ece.ubc.ca/~faribaa/ns3_plc_software.htm
这里添加 plc 模块分为两部分,第一部分是安装 boost,第二部分是下载 plc 源代码并编译
==============================第一部分:安装boost =======================================
笔者试了两种方法,因为首次安装的时候使用方法1成功安装,由于解决一些其他问题,需要另一版本的 boost,这次方法1 就行不通了,所以笔者又寻得方法2,大家在方法1安装不成功的情况下,可以试一下方法2。(方法参考哪位老师的忘了,当时错误很多,很乱,只顾整理了)
方法1:
1、下载boost安装包到 usr/local/ 目录下, https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.bz2/download (笔者使用远程桌面,网速不给力,直接windows下载安装包拷贝进去的)其他版本可在boost官网下载:www.boost.org
2、解压缩,tar jxvf boost_1_61_0.tar.bz2
3、转到boost_1_61_0 目录下
4、执行 sudo ./bootstrap.sh 进行环境配置
5、上一步配置好之后,会得到一个bjam文件,执行它 sudo ./bjam (时间比较长,可能要十几分钟)
6、测试,在任意目录下创建 test.cpp
#include<iostream>
#include<boost/lexical_cast.hpp>
int main()
{
int a = boost::lexical_cast<int>("123456");
std::cout<<a<<std::endl;
return 0;
}
运行 sudo g++ test.cpp -o test
sudo ./test
输出 123456,至此,boost安装成功
方法2:
方法1的前四步在这里同样适用,不在赘述,下面从第5步开始
5、(重点)修改 boost_1_61_0/tools/build/example/user-config.jam文件,在最后加上一行 “#using mpi ;”(注:mpi后有个空格,然后是分号)
6、执行 ./b2
7、执行 ./b2 install
8、测试跟方法1的又是一样的,输出 123456 即为安装成功。
===================================第二步:添加 plc 模块===============================
1、切换到 ns-3.25的源目录下, ns-allinone-3.25/ns-3.25/src 目录下,将 plc 模块克隆或者复制到源目录中 git clone https://github.com/ns3-plc-module/plc.git(笔者同样是拷贝进去的)
2、解压(克隆和直接下载的文件压缩方式不知道一样不,笔者是zip文件) sudo unzip plc-master.zip 然后把得到的文件夹名plc-master修改为 plc sudo mv plc-master/ plc/ (顺便说一下,修改文件名没有 / ),这里笔者把plc压缩包删掉了
3、开始编译plc模块
3.1、先配置 ./waf --enable-examples --enable-tests configure 会有如下成功提示
3.2、编译plc模块 ./waf 看到选中白色地方的 plc 没,成了
3.3、我们来测试一把,使用模块自带的简单示例
./waf --run src / plc / examples / plc-netdevice-example
build finished successfully看到没,真成了。
好了,下面就可以使用 ns3-plc 进行工作了