• 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()

  • 相关阅读:
    CentOS7安装(三)- 配置阿里云yum源
    OSQA的配置
    MySQL学习 (三) Limit-Distinct-Union
    MySQL学习(二)-字段类型及约束
    MySQL学习(一)-基本知识
    Python闭包
    软件测试面试常考点
    人生感悟
    常用的Linux命令
    细说php一些常见的知识点
  • 原文地址:https://www.cnblogs.com/cyf1995/p/6674637.html
Copyright © 2020-2023  润新知