在ns-3中添加自己编写的模块中遇到的一个问题
编写的几个文件,不作为模块添加的时候,都可以正常运行。
但量,作为一个整体组件添加到~/repos/ns-3-allinone/ns-3-dev/src中,创建的一个vanet模块 的时候,出现以下问题:
Do not include ns3 module aggregator headers from other modules; these are meant only for end user scripts
原因在于文件中,
比如:
highway.h
#include "core-module.h"
#include "network-module.h"
#include "wifi-module.h"
#include "mobility-module.h"
在作为组件添加的时候,这是不允许的做法。
正如上面英文解释,组件中整合的头文件只能在终端用户的代码中引用,不能被其他组件引用。
解决方法,分析源文件中,具体包含了哪些头文件,
比如我的文件改为:
#include "ns3/node.h"
#include "ns3/wifi-net-device.h"
#include "ns3/yans-wifi-channel.h"
#include "ns3/yans-wifi-phy.h"
#include "ns3/propagation-loss-model.h"
#include "ns3/propagation-delay-model.h"
#include "ns3/error-rate-model.h"
#include "ns3/yans-error-rate-model.h"
#include "ns3/ptr.h"
#include "ns3/mobility-model.h"
#include "ns3/constant-position-mobility-model.h"
#include "ns3/vector.h"
#include "ns3/packet.h"
#include "ns3/simulator.h"
#include "ns3/nstime.h"
#include "ns3/command-line.h"
#include "ns3/flow-id-tag.h"
#include "ns3/wifi-helper.h"
#include "ns3/yans-wifi-helper.h"
#include "ns3/nqos-wifi-mac-helper.h"
#include "ns3/mobility-helper.h"
#include "ns3/config.h"
问题解决。
编写的几个文件,不作为模块添加的时候,都可以正常运行。
但量,作为一个整体组件添加到~/repos/ns-3-allinone/ns-3-dev/src中,创建的一个vanet模块 的时候,出现以下问题:
Do not include ns3 module aggregator headers from other modules; these are meant only for end user scripts
原因在于文件中,
比如:
highway.h
#include "core-module.h"
#include "network-module.h"
#include "wifi-module.h"
#include "mobility-module.h"
在作为组件添加的时候,这是不允许的做法。
正如上面英文解释,组件中整合的头文件只能在终端用户的代码中引用,不能被其他组件引用。
解决方法,分析源文件中,具体包含了哪些头文件,
比如我的文件改为:
#include "ns3/node.h"
#include "ns3/wifi-net-device.h"
#include "ns3/yans-wifi-channel.h"
#include "ns3/yans-wifi-phy.h"
#include "ns3/propagation-loss-model.h"
#include "ns3/propagation-delay-model.h"
#include "ns3/error-rate-model.h"
#include "ns3/yans-error-rate-model.h"
#include "ns3/ptr.h"
#include "ns3/mobility-model.h"
#include "ns3/constant-position-mobility-model.h"
#include "ns3/vector.h"
#include "ns3/packet.h"
#include "ns3/simulator.h"
#include "ns3/nstime.h"
#include "ns3/command-line.h"
#include "ns3/flow-id-tag.h"
#include "ns3/wifi-helper.h"
#include "ns3/yans-wifi-helper.h"
#include "ns3/nqos-wifi-mac-helper.h"
#include "ns3/mobility-helper.h"
#include "ns3/config.h"
问题解决。