我试图将mp-olsr(ns 2.29)添加到ns 2.34中,并且在编译时遇到了一些错误。
源代码(Jiazi YI):http://www.jiaziyi.com/index.php/research-projects/mp-olsr
程序:
$ touch common / packet.cc
$ make
结果:
mpolsr / MPOLSR.o:在函数
MPOLSR::MPOLSR(int)':
Agent :: Agent(packet_t)'
MPOLSR.cc:(.text+0x1457): undefined reference to
mpolsr / MPOLSR.o:在函数MPOLSR::MPOLSR(int)':
Agent :: Agent(packet_t)'
MPOLSR.cc:(.text+0x16f1): undefined reference to
collect2:ld返回1退出状态
make:** [ns] Erro 1
我可以错过什么?
答案 0 :(得分:0)
在添加新协议之前,您需要将协议名称添加到common / packet.h文件中 之后将xxx.o \添加到Makefile中,而不是在终端窗口中输入make命令..
你做的不正确。
答案 1 :(得分:0)
为了解决我的错误,我修改了MPOLSR.cc中的以下内容:
自:
MPOLSR::MPOLSR(nsaddr_t id) : Agent(PT_MPOLSR),
hello_timer_(this),
tc_timer_(this),
mid_timer_(this) {
To(一行中的所有内容):
MPOLSR::MPOLSR(nsaddr_t id) : Agent(PT_MPOLSR), hello_timer_(this),tc_timer_(this), mid_timer_(this) {
我知道这听起来很傻,但它解决了这个问题。