zoukankan      html  css  js  c++  java
  • wscript

    REF:http://zzgthk.iteye.com/blog/1402271

    ns3自带的waf不会去找依赖,也不知道怎么添加依赖。也就是说waf编译器无法自己找#include的文件

    自定义的模块中,在利用ns3的waf编译的时候会将我们自己定义的头文件 复制到  build/debug/ns3/下面(所以是不能重名的),并且会对对应模块中的.cc文件编译成对应的 .o 文件,使得在 scratch中编写主程序时可以正确找到和链接。
       注意:1.  模块中那些头文件会拷贝以及那些.cc文件会生成.o 都是在模块中的  wscript  文件 规定的,可以看上面的例子
    http://blog.csdn.net/sea_shore/article/details/6102437
    所以,我要以aodv为模版建立自己的模型cyf,需要先修改文件名,利用linux批量修改文件名指令rename:
    批量更改文件扩展名 
    $ sudo rename 's/aodv/cyf/' * 
    src下也有一个wscript,它定义了目录结构与模型之间的关系,
    如下,从src底下的目录名直接得到model名,所以文件夹的名字和里面wscript里写的模块名应该是一样的

    我加了一个print之后:

    报错 Warning: (in t2) Requested to build modular python bindings, but apidefs dir not found => skipped the bindings.

    def build(bld):
    module = bld.create_ns3_module('aodv', ['internet', 'wifi'])
    module.includes = '.'                    ##对应当前目录(aodv/model、aodv/test)
    module.source = [
    'model/aodv-id-cache.cc',
    'model/aodv-dpd.cc',
    'model/aodv-rtable.cc',
    'model/aodv-rqueue.cc',
    'model/aodv-packet.cc',
    'model/aodv-neighbor.cc',
    'model/aodv-routing-protocol.cc',
    'helper/aodv-helper.cc',
    ]

    aodv_test = bld.create_ns3_module_test_library('aodv')
    aodv_test.source = [
    'test/aodv-id-cache-test-suite.cc',
    'test/aodv-test-suite.cc',
    'test/aodv-regression.cc',
    'test/bug-772.cc',
    'test/loopback.cc',
    ]

    headers = bld(features='ns3header')
    headers.module = 'aodv'
    headers.source = [
    'model/aodv-id-cache.h',
    'model/aodv-dpd.h',
    'model/aodv-rtable.h',
    'model/aodv-rqueue.h',
    'model/aodv-packet.h',
    'model/aodv-neighbor.h',
    'model/aodv-routing-protocol.h',
    'helper/aodv-helper.h',
    ]

    if bld.env['ENABLE_EXAMPLES']:
    bld.recurse('examples')

    bld.ns3_python_bindings()

  • 相关阅读:
    REST-framework快速构建API--生成Swagger接口文档
    Django后端彻底解决跨域问题
    Zabbix实战-简易教程--DB类--ClickHouse
    Django权限控制进阶
    django自定义rbac权限组件(二级菜单)
    jQuery事件委托
    model中的Meta类
    django中ModelForm解决多表单组合显示问题
    Django请求的生命周期
    AJAX
  • 原文地址:https://www.cnblogs.com/cyf1995/p/6674637.html
Copyright © 2011-2022 走看看