码迷,mamicode.com
首页 > 其他好文 > 详细

wscript

时间:2017-04-06 18:54:08      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:details   ack   依赖   routing   批量修改   source   reg   pac   定义   

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//.txt//.ext/‘ *
批量更改文件扩展名 
$ ls 
1.txt 2.txt 3.txt 4.txt 
$ rename ‘s//.txt//.ext/‘ * 
$ ls 
1.ext 2.ext 3.ext 4.ext 
 

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

wscript

标签:details   ack   依赖   routing   批量修改   source   reg   pac   定义   

原文地址:http://www.cnblogs.com/cyf1995/p/6674637.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!