在运行期间获取错误

时间:2014-03-16 09:03:20

标签: c++

我正在RTP protocol中实施NS-2.35。在平台Ubuntu 12.04上。我根据需要对现有模块进行了一些更改。现在我正在配置更改并在终端中运行make。但得到以下错误。

错误发生在此步骤

<all the g++ call that cause the error>

错误:

common/session-rtp.o: In function hdr_rtp_v2::access(Packet const*)': 
session-rtp.cc:(.text._ZN10hdr_rtp_v26accessEPK6Packet[hdr_rtp_v2::access(Packet const*)]          +0x7): undefined reference to `hdr_rtp_v2::offset_' 
common/session-rtp.o: In function `hdr_rtcp_v2::access(Packet const*)': 
session-rtp.cc:(.text._ZN11hdr_rtcp_v26accessEPK6Packet[hdr_rtcp_v2::access(Packet const*)]  +0x7): undefined reference to `hdr_rtcp_v2::offset_'

collect2: ld returned 1 exit status

代码:

#ifndef lint 
static const char rcsid[] = 
    "@(#) $Header: /nfs/jade/vint/CVSROOT/ns-2/apps/rtp.cc,v 1.26 2000/08/18 18:34:01 haoboy Exp $"; 
#endif 
#include <stdlib.h> 
#include "agent.h" 
#include "config.h" 
#include "rtp.h" 
#include "random.h" 
#include <string.h> 
#include "rtp_v2.h" 
#include "address.h" 
#include "udp.h" 
#include "ip.h" 
#include <cstdlib> 
#include <iostream.h> 
#include <time.h> 

int hdr_rtp_v2::offset_; 

// RTP RFC 3550 Compliant Header Class 
static class RTP_v2HeaderClass : public PacketHeaderClass { 
public: 
    RTP_v2HeaderClass() : PacketHeaderClass("PacketHeader/RTP_v2", sizeof(hdr_rtp_v2)) { 
        bind_offset(&hdr_rtp_v2::offset_); 
    } 
} class_rtp_v2_hdr; 
// [...]

#include <stdlib.h> 
#include "agent.h" 
#include "config.h" 
#include "rtp.h" 
#include "random.h" 
#include <string.h> 
#include "rtcp_v2.h" 
#include "address.h" 
#include "udp.h" 
#include "rtp_v2.h" 

#define Receiver_Report 201 
#define Sender_Report 200 
#define seqno_initial_ 0 


class RTCP_v2Agent; 
int hdr_rtcp_v2::offset_; 
// [...]



g++ -Wl,-export-dynamic  -o ns tcp/linux/tcp_naivereno.o tcp/linux/src/tcp_cong.o tcp/linux/src/tcp_highspeed.o tcp/linux/src/tcp_bic.o tcp/linux/src/tcp_htcp.o tcp/linux/src/tcp_scalable.o tcp/linux/src/tcp_cubic.o tcp/linux/src/tcp_westwood.o tcp/linux/src/tcp_vegas.o tcp/linux/src/tcp_hybla.o tcp/linux/src/tcp_illinois.o tcp/linux/src/tcp_yeah.o tcp/linux/src/tcp_veno.o tcp/linux/src/tcp_compound.o tcp/linux/src/tcp_lp.o tcp/linux/ns-linux-c.o tcp/linux/ns-linux-param.o tools/random.o tools/rng.o tools/ranvar.o common/misc.o common/timer-handler.o common/scheduler.o common/object.o common/packet.o common/ip.o routing/route.o common/connector.o common/ttl.o trace/trace.o trace/trace-ip.o classifier/classifier.o classifier/classifier-addr.o classifier/classifier-hash.o classifier/classifier-virtual.o classifier/classifier-mcast.o classifier/classifier-bst.o classifier/classifier-mpath.o mcast/replicator.o classifier/classifier-mac.o classifier/classifier-qs.o classifier/classifier-port.o src_rtg/classifier-sr.o src_rtg/sragent.o src_rtg/hdr_src.o adc/ump.o qs/qsagent.o qs/hdr_qs.o apps/app.o apps/telnet.o tcp/tcplib-telnet.o tools/trafgen.o trace/traffictrace.o tools/pareto.o tools/expoo.o tools/cbr_traffic.o adc/tbf.o adc/resv.o adc/sa.o tcp/saack.o tools/measuremod.o adc/estimator.o adc/adc.o adc/ms-adc.o adc/timewindow-est.o adc/acto-adc.o adc/pointsample-est.o adc/salink.o adc/actp-adc.o adc/hb-adc.o adc/expavg-est.o adc/param-adc.o adc/null-estimator.o adc/adaptive-receiver.o apps/vatrcvr.o adc/consrcvr.o common/agent.o common/message.o apps/udp.o common/session-rtp.o apps/rtp.o tcp/rtcp.o common/ivs.o common/messpass.o common/tp.o common/tpm.o apps/worm.o tcp/tcp.o tcp/tcp-sink.o tcp/tcp-reno.o tcp/tcp-newreno.o tcp/tcp-vegas.o tcp/tcp-rbp.o tcp/tcp-full.o tcp/rq.o baytcp/tcp-full-bay.o baytcp/ftpc.o baytcp/ftps.o tcp/scoreboard.o tcp/scoreboard-rq.o tcp/tcp-sack1.o tcp/tcp-fack.o tcp/scoreboard1.o tcp/tcp-linux.o tcp/linux/ns-linux-util.o tcp/tcp-asym.o tcp/tcp-asym-sink.o tcp/tcp-fs.o tcp/tcp-asym-fs.o tcp/tcp-int.o tcp/chost.o tcp/tcp-session.o tcp/nilist.o sctp/sctp.o apps/sctp_app1.o sctp/sctp-timestamp.o sctp/sctp-hbAfterRto.o sctp/sctp-multipleFastRtx.o sctp/sctp-mfrHbAfterRto.o sctp/sctp-mfrTimestamp.o sctp/sctp-cmt.o sctp/sctpDebug.o dccp/dccp_sb.o dccp/dccp_opt.o dccp/dccp_ackv.o dccp/dccp_packets.o dccp/dccp.o dccp/dccp_tcplike.o dccp/dccp_tfrc.o tools/integrator.o tools/queue-monitor.o tools/flowmon.o tools/loss-monitor.o queue/queue.o queue/drop-tail.o adc/simple-intserv-sched.o queue/red.o queue/semantic-packetqueue.o queue/semantic-red.o tcp/ack-recons.o queue/sfq.o queue/fq.o queue/drr.o queue/srr.o queue/cbq.o queue/jobs.o queue/marker.o queue/demarker.o link/hackloss.o queue/errmodel.o queue/fec.o link/delay.o tcp/snoop.o gaf/gaf.o link/dynalink.o routing/rtProtoDV.o common/net-interface.o mcast/ctrMcast.o mcast/mcast_ctrl.o mcast/srm.o common/sessionhelper.o queue/delaymodel.o mcast/srm-ssm.o mcast/srm-topo.o routing/alloc-address.o routing/address.o lib/int.Vec.o lib/int.RVec.o lib/dmalloc_support.o webcache/http.o webcache/tcp-simple.o webcache/pagepool.o webcache/inval-agent.o webcache/tcpapp.o webcache/http-aux.o webcache/mcache.o webcache/webtraf.o webcache/webserver.o webcache/logweb.o empweb/empweb.o empweb/empftp.o realaudio/realaudio.o mac/lanRouter.o classifier/filter.o common/pkt-counter.o common/Decapsulator.o common/Encapsulator.o common/encap.o mac/channel.o mac/mac.o mac/ll.o mac/mac-802_11.o mac/mac-802_11Ext.o mac/mac-802_3.o mac/mac-tdma.o mac/smac.o mobile/mip.o mobile/mip-reg.o mobile/gridkeeper.o mobile/propagation.o mobile/tworayground.o mobile/nakagami.o mobile/antenna.o mobile/omni-antenna.o mobile/shadowing.o mobile/shadowing-vis.o mobile/dumb-agent.o common/bi-connector.o common/node.o common/mobilenode.o mac/arp.o mobile/god.o mobile/dem.o mobile/topography.o mobile/modulation.o queue/priqueue.o queue/dsr-priqueue.o mac/phy.o mac/wired-phy.o mac/wireless-phy.o mac/wireless-phyExt.o mac/mac-timers.o trace/cmu-trace.o mac/varp.o mac/mac-simple.o satellite/sat-hdlc.o dsdv/dsdv.o dsdv/rtable.o queue/rtqueue.o routing/rttable.o imep/imep.o imep/dest_queue.o imep/imep_api.o imep/imep_rt.o imep/rxmit_queue.o imep/imep_timers.o imep/imep_util.o imep/imep_io.o tora/tora.o tora/tora_api.o tora/tora_dest.o tora/tora_io.o tora/tora_logs.o tora/tora_neighbor.o dsr/dsragent.o dsr/hdr_sr.o dsr/mobicache.o dsr/path.o dsr/requesttable.o dsr/routecache.o dsr/add_sr.o dsr/dsr_proto.o dsr/flowstruct.o dsr/linkcache.o dsr/simplecache.o dsr/sr_forwarder.o aodv/aodv_logs.o aodv/aodv.o aodv/aodv_rtable.o aodv/aodv_rqueue.o aomdv/aomdv_logs.o aomdv/aomdv.o aomdv/aomdv_rtable.o aomdv/aomdv_rqueue.o puma/puma.o mdart/mdart_adp.o mdart/mdart_dht.o mdart/mdart_ndp.o mdart/mdart_neighbor.o mdart/mdart_queue.o mdart/mdart_table.o mdart/mdart.o common/ns-process.o satellite/satgeometry.o satellite/sathandoff.o satellite/satlink.o satellite/satnode.o satellite/satposition.o satellite/satroute.o satellite/sattrace.o rap/raplist.o rap/rap.o rap/media-app.o rap/utilities.o common/fsm.o tcp/tcp-abs.o diffusion/diffusion.o diffusion/diff_rate.o diffusion/diff_prob.o diffusion/diff_sink.o diffusion/flooding.o diffusion/omni_mcast.o diffusion/hash_table.o diffusion/routing_table.o diffusion/iflist.o tcp/tfrc.o tcp/tfrc-sink.o mobile/energy-model.o apps/ping.o tcp/tcp-rfc793edu.o queue/rio.o queue/semantic-rio.o tcp/tcp-sack-rh.o tcp/scoreboard-rh.o plm/loss-monitor-plm.o plm/cbr-traffic-PP.o linkstate/hdr-ls.o mpls/classifier-addr-mpls.o mpls/ldp.o mpls/mpls-module.o routing/rtmodule.o classifier/classifier-hier.o routing/addr-params.o nix/hdr_nv.o nix/classifier-nix.o nix/nixnode.o routealgo/rnode.o routealgo/bfs.o routealgo/rbitmap.o routealgo/rlookup.o routealgo/routealgo.o nix/nixvec.o nix/nixroute.o diffserv/dsred.o diffserv/dsredq.o diffserv/dsEdge.o diffserv/dsCore.o diffserv/dsPolicy.o diffserv/ew.o diffserv/dewp.o queue/red-pd.o queue/pi.o queue/vq.o queue/rem.o queue/gk.o pushback/rate-limit.o pushback/rate-limit-strategy.o pushback/ident-tree.o pushback/agg-spec.o pushback/logging-data-struct.o pushback/rate-estimator.o pushback/pushback-queue.o pushback/pushback.o common/parentnode.o trace/basetrace.o common/simulator.o asim/asim.o common/scheduler-map.o common/splay-scheduler.o linkstate/ls.o linkstate/rtProtoLS.o pgm/classifier-pgm.o pgm/pgm-agent.o pgm/pgm-sender.o pgm/pgm-receiver.o mcast/rcvbuf.o mcast/classifier-lms.o mcast/lms-agent.o mcast/lms-receiver.o mcast/lms-sender.o queue/delayer.o xcp/xcpq.o xcp/xcp.o xcp/xcp-end-sys.o wpan/p802_15_4csmaca.o wpan/p802_15_4fail.o wpan/p802_15_4hlist.o wpan/p802_15_4mac.o wpan/p802_15_4nam.o wpan/p802_15_4phy.o wpan/p802_15_4sscs.o wpan/p802_15_4timer.o wpan/p802_15_4trace.o wpan/p802_15_4transac.o apps/pbc.o diffusion3/lib/nr/nr.o diffusion3/lib/dr.o diffusion3/filters/diffusion/one_phase_pull.o diffusion3/filters/diffusion/two_phase_pull.o diffusion3/lib/diffapp.o diffusion3/ns/diffagent.o diffusion3/ns/diffrtg.o diffusion3/ns/difftimer.o diffusion3/filter_core/filter_core.o diffusion3/filter_core/iolog.o diffusion3/filter_core/iostats.o diffusion3/lib/main/attrs.o diffusion3/lib/main/events.o diffusion3/lib/main/iodev.o diffusion3/lib/main/iohook.o diffusion3/lib/main/timers.o diffusion3/lib/main/message.o diffusion3/lib/main/tools.o diffusion3/apps/gear_examples/gear_common.o diffusion3/apps/gear_examples/gear_receiver.o diffusion3/apps/gear_examples/gear_sender.o diffusion3/apps/rmst_examples/rmst_sink.o diffusion3/apps/rmst_examples/rmst_source.o diffusion3/apps/ping/1pp_ping_sender.o diffusion3/apps/ping/1pp_ping_receiver.o diffusion3/apps/ping/2pp_ping_sender.o diffusion3/apps/ping/2pp_ping_receiver.o diffusion3/apps/ping/ping_common.o diffusion3/apps/ping/push_receiver.o diffusion3/apps/ping/push_sender.o diffusion3/filters/gear/gear_attr.o diffusion3/filters/gear/gear.o diffusion3/filters/gear/gear_tools.o diffusion3/filters/misc/log.o diffusion3/filters/misc/srcrt.o diffusion3/filters/misc/tag.o diffusion3/filters/rmst/rmst.o diffusion3/filters/rmst/rmst_filter.o delaybox/delaybox.o packmime/packmime_HTTP.o packmime/packmime_HTTP_rng.o packmime/packmime_OL.o packmime/packmime_OL_ranvar.o packmime/packmime_ranvar.o tmix/tmix.o tmix/tmixAgent.o tmix/tmix_delaybox.o gen/version.o gen/ns_tcl.o gen/ptypes.o common/win32.o common/tclAppInit.o common/main-monolithic.o -L/home/bhavana/ns-allinone-2.35/tclcl-1.20 -ltclcl -L/home/bhavana/ns-allinone-2.35/otcl -lotcl -L/home/bhavana/ns-allinone-2.35/lib -ltk8.5 -L/home/bhavana/ns-allinone-2.35/lib -ltcl8.5 -lXext -lX11 -lnsl -ldl -lm -lm 

任何人都可以建议我对代码进行哪些确切的修改以解决错误

如果有人可以帮我解决这个问题......这将非常有帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

链接问题:ld找不到hdr_rtp_v2 :: access :: Packet(Packet const *)和hdr_rtcp_v2 :: access :: Packet(Packet const *)的定义,我想猜包的构造函数。

这意味着您尚未定义这些功能

或者您忘记链接lib

或者你试图链接ld一个用VC构建的lib,它使用另一个名称修改导致这个问题