由于用ns3需要加载一个第三方库,摸索了几天终于对这个工具有了一定了解,感觉熟悉之后非常效率,可读性也比makefile强,还是可以推荐用一下的。以下附上一个简单的使用方法:
目录结构:
.
├── include
│ ├── Assertion.h
│ ├── Backup.h
│ ├── Column.h
│ ├── Database.h
│ ├── Exception.h
│ ├── ExecuteMany.h
│ ├── SQLiteCpp.h
│ ├── Statement.h
│ ├── Transaction.h
│ ├── Utils.h
│ └── VariadicBind.h
├── main.cc
├── src
│ ├── Backup.cpp
│ ├── Column.cpp
│ ├── Database.cpp
│ ├── Exception.cpp
│ ├── Statement.cpp
│ ├── Transaction.cpp
│ └── wscript
├── waf
└── wscript
该目录结构需要包含根目录和子目录下两个wscript,任务是使用src文件夹和include文件夹下的文件编译生成一个静态库和动态库,并编译链接main.cc文件,则两个wscript内容分别可以这样写:
from waflib.Context import WAFVERSION
from waflib import *
import os
top='.'
out='build'
print("Now you are using waf tool of version ",WAFVERSION)
def options(opt):
opt.load('compiler_cxx')
path=os.path.join(opt.path.abspath(),'include')
opt.add_option('--include',action='store',default=path