【发布时间】:2012-06-19 16:22:26
【问题描述】:
我尝试在 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'
有人知道我在哪里犯错了吗??? 我花了一整天的时间。
【问题讨论】:
-
似乎是链接器错误。通常未定义的引用意味着您没有提供正确的库,该库具有未定义引用的函数。
-
是的,我知道,但通常所有这些都在 libxmpphelp.a 或 libjingle.a 中。我没有其他库可以链接到 .所以这就是为什么我不明白 typeinfo 错误。