I compiled an .cc file with the following command, which is in Makefile code:
bin/bash ../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
-I.. -I../include/ -I.. -g -O2 -MT rtpsession_inet.lo -MD -MP -MF
.deps/rtpsession_inet.Tpo -c -o rtpsession_inet.lo rtpsession_inet.cc
There is a function named rtp_session_rtp_recv in the .cc file. However, it is said that the reference of this function cannot be found when I use the library generated by the Makefile.
So I checked the .o file generated by rtpsession_inet.cc and find that there is not a function named rtp_session_rtp_recv while the function name is changed to _Z20rtp_session_rtp_recvP11_RtpSessionj.
Meanwhile, there are several other functions changes their name, e.g. rtp_session_rtp_send -> _Z20rtp_session_rtp_sendP11_RtpSessionP4msgb.
But functions such as rtp_session_set_remote_addr_full are not changed at all.
What is the additional characters' meaning? How can I deal with this problem?
I compile the file in Linux and use command
nm rtpsession_inet.o
to read the .o file. (All the functions including the one with incorrect name are with T tag, which means the reference exists)
Thanks!