在ns 2.34上添加mp-olsr时的编译错误(Jiazi YI ns 2.29)

时间:2013-04-09 14:23:15

标签: c++ compiler-errors protocols ns2

我试图将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)':
MPOLSR.cc:(.text+0x1457): undefined reference to
Agent :: Agent(packet_t)'
  mpolsr / MPOLSR.o:在函数MPOLSR::MPOLSR(int)':
MPOLSR.cc:(.text+0x16f1): undefined reference to
Agent :: Agent(packet_t)'
  collect2:ld返回1退出状态
  make:** [ns] Erro 1

我可以错过什么?

2 个答案:

答案 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) {

我知道这听起来很傻,但它解决了这个问题。