【发布时间】:2012-08-07 22:10:55
【问题描述】:
其中一些错误是通过修改解决的
virtual void draw();
到
virtual void draw() {};
但是,除了虚函数之外,这些错误的其他原因是什么? 以下错误可能是什么原因..
/tmp/cciGEgp5.o:(.rodata._ZTI14CustomXmppPump[typeinfo for CustomXmppPump]+0x18):
undefined reference to `typeinfo for XmppPump'
【问题讨论】:
-
也许你在构建中只有 .h 或 .hpp 文件,没有对应的 .cpp 文件
-
你混淆了声明和定义。
-
看起来你正在编译没有 RTTI。请注意,未定义的引用是针对 typeinfo 而不是实际的虚函数。这也是您在 libjingle 网站上找到的 "known issue"。
-
确实使用 -frtti 标志编译。这是编译代码。g++ -g -Wall -DPOSIX -frtti -DEXPAT_RELATIVE_PATH -DFEATURE_ENABLE_SSL -DHAVE_OPENSSL_SSL_H=1 -I ../ -frtti pcp_main.cc ../talk/build/dbg/lib/libxmpphelp.a ../talk/build/dbg/lib/libjingle.a ../talk/build/dbg/lib/libexpat.a ../talk/build/dbg /lib/libsrtp.a -lpthread -lssl .. 仍然得到相同的错误:(...有什么想法吗?
-
@Damon 太好了,你猜它是 libjingle ......:D.. 如果你能纠正我的编译代码会很有帮助......这个错误让我发疯......跨度>
标签: c++