0

我正在尝试将 mp-olsr(ns 2.29) 添加到 ns 2.34 中,并且在编译时遇到了一些错误。

源码(甲子易):http ://www.jiaziyi.com/index.php/research-projects/mp-olsr

程序:

$ touch common/packet.cc
$ make

结果:

mpolsr/MPOLSR.o: 在函数Agent::Agent(packet_t)' mpolsr/MPOLSR.o: 在函数Agent::Agent(packet_t)' collect2: ld 返回 1 退出状态 make: ** [ns] Erro 1MPOLSR::MPOLSR(int)':
MPOLSR.cc:(.text+0x1457): undefined reference to

MPOLSR::MPOLSR(int)':
MPOLSR.cc:(.text+0x16f1): undefined reference to


我可能错过了什么?

4

2 回答 2

0

在添加新协议之前,您需要将协议名称添加到 common/packet.h 文件中,然后将您的 xxx.o \ 添加到 Makefile 中,而不是在终端窗口中输入 make 命令。

你所做的不正确。

于 2013-04-10T11:48:36.893 回答
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) {

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

于 2013-04-16T12:26:53.620 回答