Я пытаюсь добавить 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)':
Агент :: Агент (packet_t)»
MPOLSR.cc:(.text+0x1457): undefined reference to
mpolsr / MPOLSR.o: в функцииMPOLSR::MPOLSR(int)':
Агент :: Агент (packet_t)»
MPOLSR.cc:(.text+0x16f1): undefined reference to
collect2: ld вернул 1 статус выхода
make: ** [ns] Erro 1
Что я мог пропустить?
Прежде чем добавить новый протокол, вам нужно добавить имя вашего протокола в файл common / packet.h
После этого добавьте ваш xxx.o \ в Makefile, затем введите команду make в окне терминала.
То, что вы сделали, не правильно.
Чтобы решить мою ошибку, я изменил следующее в 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) {
Я знаю, это звучит глупо, но это решило проблему.