Makefile コードにある次のコマンドで .cc ファイルをコンパイルしました。
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
.cc ファイルにはrtp_session_rtp_recvという名前の関数があります。しかし、Makefileで生成したライブラリを使用すると、この関数のリファレンスが見つからないと言われています。
そのため、rtpsession_inet.cc によって生成された .o ファイルを確認したところ、関数名が _Z20rtp_session_rtp_recvP11_RtpSessionj に変更されている間、rtp_session_rtp_recv という名前の関数がないことがわかりました。
その間、名前が変更された他の関数がいくつかあります。
ただし、rtp_session_set_remote_addr_fullなどの関数はまったく変更されていません。
追加キャラの意味は?どうすればこの問題に対処できますか?
Linuxでファイルをコンパイルし、コマンドを使用します
nm rtpsession_inet.o
.o ファイルを読み取ります。(関数名が間違っているものも含めて全てTタグ付きで参照あり)
ありがとう!