我正在尝试对使用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/