上一篇安装好了 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 进行工作了

   

  

在 ns-3.25中添加 plc(电力线载波) 模块的更多相关文章

  1. Android中添加自己的模块 【转】

    本文转载自:http://wallage.blog.163.com/blog/static/17389624201021791333695/ 转:http://blog.csdn.net/yili_x ...

  2. 在jekyll模板博客中添加网易云模块

    最近使用GitHub Pages + Jekyll 搭建了个人博客,作为一名重度音乐患者,博客里面可以不配图,但是不能不配音乐啊. 遂在博客里面引入了网易云模块,这里要感谢网易云的分享机制,对开发者非 ...

  3. idea中添加多级父子模块

    在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念. 在 IntelliJ IDEA 中Projec ...

  4. ZYNQ原理图中添加RTL设计模块

    前言 已有的RTL模块怎么添加到原理图中? 流程 (1)添加文件到设计中. (2)右键文件添加到block design中. (3)连线即可. 以上.

  5. 如何在html中添加引用公共模块文件

    1.首先需要修改apache的配置文件: 打开httpd.conf 搜索“AddType text/html .shtml” 搜索结果: AddType text/html .shtml .html ...

  6. 安装memcached服务器和PHP中添加memcache拓展模块

    Memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提拱动态 数据驱动网站的速度. memcached ...

  7. 如何在Pycharm中添加新的模块

    在使用Pycharm编写程序时,我们时常需要调用某些模块,但有些模块事先是没有的,我们需要把模块添加上去. 最近在学习爬虫,写了下面几行代码: 结果出现错误 错误ModuleNotFoundError ...

  8. JS向固定数组中添加不重复元素并冒泡排序

    向数组{7,20,12,6,25}中添加一个不重复的数字,然后按照从小到大的顺序排列 源代码: <!DOCTYPE html> <html> <head> < ...

  9. 关于ApiCloud的Superwebview在androidstudio中集成微信支付模块,提示模块未绑定的问题

    前两天ApiCloud项目集成了微信支付模块,android端今天也将ApiCloud官方的uzWxPay.jar集成了.在编译玩测试的时候提示wxPay模块为绑定!我的项目是使用ApiCloud推出 ...

随机推荐

  1. php Excel 导入功能

    下载excel类地址 https://pan.baidu.com/s/19MqAHUn4RyZ5HEAChyC0jg  密码:mn58 本人用的thinkcmf框架 把类文件放在框架的类文件里面,下面 ...

  2. Redis数据类型Set

    Redis的SET是无序的String集合,它里面的元素是不会重复的. SADD,SMEMBERS SADD命令会添加新元素到SET,可以看到一次性可以添加一个或多个元素.SMEMBERS可以获取se ...

  3. jquery的data、attr、expando

    今天无意中遇到 data和 attr的问题 场景是这样 需要给一个标签赋值,data-skin 同事用data赋值 $("#div").data("skin", ...

  4. .net core 2.x - docker(for windows)-linux配置及项目+SqlServer发布

    将.net core2.x+sqlserver项目发布到docker.呵呵,操作很自如,如下. 1.罗嗦几句 在跑起来之前浪费了不少时间和精力,起初是将docker for windows的环境转换成 ...

  5. mac抓包工具anyproxy

    本文以 mac为代理,ios手机为客户端举例. 文档地址:http://anyproxy.io/ 1.环境配置: 安装  node  :参考   https://www.jianshu.com/p/3 ...

  6. js常用代码

    获取URL ?后的查询参数 function query(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...

  7. in 索引失效的问题

    先安利一篇博文MySQL的or/in/union与索引优化 简单的in查询 索引失效: 步骤 1.检查建立索引没有 order_status 字段为普通索引的tinyint类型 2.检查是否使用了使索 ...

  8. Currency Exchange POJ - 1860 (spfa判断正环)

    Several currency exchange points are working in our city. Let us suppose that each point specializes ...

  9. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day7

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day7 一.项目燃尽图 二.项目进展 [20172301郭恺第七天的进展] 第七天完成的任务: 代码整合,界面调整为相对 ...

  10. DBUtils - Python数据库连接池

    flask没有ORM操作这一功能, 但是想要操作数据库怎么办呢, 使用第三方包DBUtils 查询需要SQL原生语句! DBUtils 第一步还是要下载 使用pycharm直接搜索DBUtils fr ...