ah yes i dealt with those as well. the solution is quite trivial if you know the following or if you can use google to resolve such compiler errors which i strongly suggest. A quick search reveals:
When you compile, you need to make sure that the libraries are where they're supposed to be AND the header files (INCLUDE=...) are where they're supposed to be. Either one can mess you up. (The library is NOT the same as the header (.h) file. C libraries are collections of compiled objects which are LINKED to your object code by the linker. Header files are lexically included by the preprocessor) What this means is that you should make sure that aodv.h is in the AODV folder that aodv.cc is (which is indeed in the package you have I remember correctly). You should also make sure that in Makefile.in where is says INCLUDES= , that there is a line saying: -I./aodv \ (which there isn't, so if you add it , it will work) . cheers pebbles wrote: > > Thanx a lot for the zip file and your help! > > I tried to compile it but it gave me errors like this: > > aodv/aodv.o: In function `AODV::command(int, char const* const*)': > aodv.cc:(.text+0xcd): undefined reference to > `GroupHelloTimer::handle(Event*)' > aodv.cc:(.text+0x2c9): undefined reference to > `aodv_mtable::mt_lookup(int)' > aodv.cc:(.text+0x2ea): undefined reference to `aodv_mtable::mt_add(int)' > aodv.cc:(.text+0x350): undefined reference to > `AODV::sendMRQ(aodv_mt_entry*, unsigned char)' > > Version 2.31 works fine without maodv so there must be sth wrong with c++ > stuff and its linkage. > > > > Fivos.K wrote: >> >> try this link >> >> http://140.112.21.101/~maxmilian/ns2/ns-allinone-2.31_with_maodv.zip >> >> it contains a ready version of ns-allinone 2.31 with maodv included. >> >> Also note that by installing 2.26 all in one package you don't damage >> anything. All the files of ns2 reside in its directory. if you wish to >> uninstall it all you need to do is delete the dir. >> >> as for using the right tcl version ,you can have an if condition in your >> bashrc as i do. >> i have a variable called NS in it and set it according to the NS-version >> i want to use .for example >> >> export NS=26 >> source ~/.bashrc >> >> would load ns version 2.26 settings. >> >> It's quite easy once you understand how this works. I have 4 ns-versions >> on my system all working fine. >> >> good luck ! >> >> >> pebbles wrote: >>> >>> >>> I tried to install the 2.26 but it needs older version of tcl and I >>> don't want to damage the 2.34 installation. I installed 2.31 but when I >>> tried to add the maodv files it gave me this error: >>> >>> mac/channel.cc: In member function ‘void >>> WirelessChannel::calcHighestAntennaZ(Phy*)’: >>> mac/channel.cc:625: error: ‘class WirelessPhy’ has no member named >>> ‘getAntennaZ’ >>> mac/channel.cc:626: error: ‘class WirelessPhy’ has no member named >>> ‘getAntennaZ’ >>> mac/channel.cc:632: error: ‘class WirelessPhy’ has no member named >>> ‘getDist’ >>> mac/channel.cc:632: error: ‘class WirelessPhy’ has no member named >>> ‘getCSThresh’ >>> mac/channel.cc:632: error: ‘class WirelessPhy’ has no member named >>> ‘getPt’ >>> make: *** [mac/channel.o] Error 1 >>> >>> Did it give you such error when you installed it? It would be really >>> helpful if you uploaded them anyway. Thank you in any case. >>> >>> >>> Fivos.K wrote: >>>> >>>> i have ported them both for ns2.31 , i could upload them somewhere if >>>> you are interested but you could also use them in the ns version they >>>> support. >>>> >>>> >>>> pebbles wrote: >>>>> >>>>> Do I have to configure myself the unicast mechanism so as to send RTCP >>>>> packets only to the sender node (and of course keeping the multicast >>>>> for RTP packets, so that the sender sends to every receiver node)? I'm >>>>> asking this because in case of having more receiver nodes I'd want the >>>>> RTP packets to be sent to all of them. >>>>> >>>>> Also, I couldn't find a working version of either protocol >>>>> (MAODV,ADMR) for ns 2.34. I think it's been a long time since they >>>>> have been updated... >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Fivos.K wrote: >>>>>> >>>>>> >>>>>> >>>>>> pebbles wrote: >>>>>>> >>>>>>> The simple-rtp example uses the "multicast on" option so I'd rather >>>>>>> stick to a multicast protocol for now. >>>>>>> >>>>>>> With ADMR one node can send RTP packets to nodes that belong to one >>>>>>> multicast group but each one of them >>>>>>> sends RTCP packets to that node (unicast), while with PUMA the nodes >>>>>>> send RTCP packets to a multicast group address? >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> They are all multicast protocols. Simply MAODV and ADMR allow use of >>>>>> unicast as well. The RTCP packets should only be sent to the sender >>>>>> and not to the whole group, so by sending them using a unicast >>>>>> mechanism you decrease the number of collisions in your setup. >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > -- View this message in context: http://old.nabble.com/RTP-over-wireless-connection-between-two-nodes-tp31407109p31701142.html Sent from the ns-users mailing list archive at Nabble.com.
