2007-05-13

undefined reference to `vtable for xxx'

C++ 程序链接的时候出现这条信息 往往是有 虚析构函数 出现在基类中而又没有相应实现的情况。
解决方法:
给这个 虚析构函数 一个函数体,或者是定义成一个纯虚函数。

而在 QT 中出现这种情况 很可能是由于在该类中使用了Q_OBJECT宏
(见:http://blog.sina.com.cn/u/496ad465010007sk
http://blog.csdn.net/baymoon/archive/2006/11/23/1409167.aspx
和moc文件相关,解决方法,删除掉 *.o 再重新编译一次。
(对于KDevelop生成的qmake之外的工程,要到./debug/src 目录中删除掉 *.o 还有那些 class-name.moc.cpp ,然后重新编译)
//EOF

0 comments: