我正在尝试使用NS 2.35对AODV路由协议进行一些改进。我在AODV.cc和AODV.h文件中做了一些更改。为了使更改生效,我从NS 2.35文件夹中的终端发出以下三个命令:
2.make clean
3.make
现在我遇到以下错误:
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
答案 0 :(得分:0)
当然你必须得到一个错误......你已经改变了一些将在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);
准确地说出你想做什么,也许我可以帮助你或者其他人帮助你。