编译libjingle pcp

时间:2012-06-19 16:22:26

标签: c++ libjingle

我试图在libjingle项目中编译pcp示例。 但我得到了这个错误,我不知道为什么:

g++ -DPOSIX -DEXPAT_RELATIVE_PATH -DFEATURE_ENABLE_SSL -DHAVE_OPENSSL_SSL_H=1  -W -Wall -g -frtti  -o p2p pcp_main.o  -lpthread -lssl libsrtp.a libxmpphelp.a libjingle.a  libexpat.a  
pcp_main.o:(.rodata._ZTI14CustomXmppPump[typeinfo for CustomXmppPump]+0x18): undefined reference to `typeinfo for XmppPump'
pcp_main.o:(.rodata._ZTIN7cricket18SessionManagerTaskE[typeinfo for cricket::SessionManagerTask]+0x8): undefined reference to `typeinfo for buzz::XmppTask'
pcp_main.o:(.rodata._ZTIN7cricket15SessionSendTaskE[typeinfo for cricket::SessionSendTask]+0x8): undefined reference to `typeinfo for buzz::XmppTask'
pcp_main.o:(.rodata._ZTI17AutoPortAllocator[typeinfo for AutoPortAllocator]+0x8): undefined reference to `typeinfo for cricket::HttpPortAllocator'

有人知道我犯了什么错吗? 我花了一整天的时间。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但确实设法通过scons成功编译它,在你的talk /目录中将以下行附加到'libjingle.scons'

     talk.App(env, name = "pcp",
     posix_libs = [
       "crypto",
       "ssl",
     ],
     srcs = [
       "examples/pcp/pcp_main.cc",
     ],
 libs = [
       "jingle",
       "expat",
       "srtp",
       "xmpphelp",
     ],
)

然后使用libjingle的README中的指令构建它.. pcp binary将构建在/ talk / build / dbg / staging /目录中..