问题描述:
用ns3编写自己的程序,在 scratch下编写自己的单独一个文件的程序的时候,用waf可以正常编译和运行,但是当自己编写多个.cc文件时用ns3自带的waf就不能正常编译了。究其原因就是ns3自带的waf不会去找依赖,也不知道怎么添加依赖。
解决方法:
仿照src下面模块的方法,将自己编写的多个其他非main文件都放到一个模块中,在用ns3中的waf编译时会自动编译这个模块,从而达到达到正确找到头文件和链接的目的。
具体步骤:
cd src // 进入src源码文件夹
vim wscript // 编辑 ns3 用的 wscript
在 all_modules 下面按照它的格式添加自己的模块名称,也就是后面要建立的文件夹的名称,这里我添加的是 common-work并且添加在了最后
''common-work'
保存并推出文件
mkdir common-work //建立一个自己用的文件夹
cd common-work
mkdir model //仿照其他模块建立的一个文件夹,自己的头文件可以放这里,.cc文件也是
举个简单的打印函数的例子:(myzzg.h)
#ifndef MYZZG_H
#define MYZZG_H 1
void myprint();
#endif
在common-work文件夹下直接编写自己的库函数:(myzzg.cc)