我正在尝试对使用ns 2.35的aodv路由协议进行一些改进。我在aodv.cc和aodv.h文件中做了一些更改。为了使更改生效,我从ns 2.35文件夹中的终端发出了以下三个命令:
获取权限
2.清洁
3.品牌
现在我有以下错误:

trace/cmu-trace.o: In function `CMUTrace::format_aodv(Packet*, int)':
cmu-trace.cc:(.text+0x18b7): undefined reference to `hdr_aodv::offset_'

解决办法是什么?
有关更多说明,我在此处提供.cc文件链接:
https://drive.google.com/file/d/0B1OEPsG0ILELWkcxQ254TEpoN3M/view?usp=sharing

最佳答案

当然你一定会出错…您已经更改了一些将在cmu-trace.cc中使用的打印参数。
我不知道你想做什么,但很明显,你不应该从fprintf更改这些参数。
比如这里:

 fprintf(stderr,
             "%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%f\t%s%f\n",
             "src=",         index,
             "dst=",         rp->rp_dst,
             "nhops=",       rp->rp_hop_count+1,
             "opthops=",     opthops,
             "sumHops=",     sumHops,
             "sumGodHops=",  sumGodHops,
             "numRtsFound=", numRtsFound,
             "prevHop=",     ch->prev_hop_,
             "t:",           CURRENT_TIME,
             "RTT=",         CURRENT_TIME - rp->rp_timestamp);

         fprintf(gspTraceFile,
             "%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%d\t%s%f\t%s%f\n",
             "src=",         index,
             "dst=",         rp->rp_dst,
             "nhops=",       rp->rp_hop_count+1,
             "opthops=",     opthops,
             "sumHops=",     sumHops,
             "sumGodHops=",  sumGodHops,
             "numRtsFound=", numRtsFound,
             "prevHop=",     ch->prev_hop_,
             "t:",           CURRENT_TIME,
             "RTT=",         CURRENT_TIME - rp->rp_timestamp);

说清楚你想做什么,也许我能帮你,也许别人能帮你。

关于linux - 网络模拟器中出现“对“hdr_aodv::offset_”的 undefined reference ”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33807898/

10-10 03:05