考虑以下 Qt 代码片段:
<code class="cpp">class T : public QObject, public QGraphicsItem { Q_OBJECT public: T() {} QRectF boundingRect() const {return QRectF();} void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {} }; int main() { T t; return 0; }</code>
编译此代码时,您可能会遇到链接器错误,例如:
undefined reference to `vtable for T' undefined reference to `vtable for T' ...
解决方案:
当 MOC 为您的类生成的单元未包含在链接过程中时,通常会发生此错误。 MOC 单元包含有关该类的元信息,包括其 Q_OBJECT 宏。
可能的原因和修复:
以上是为什么我的 Qt 应用程序中出现'Q_OBJECT 链接错误:'对 vtable 的未定义引用'”?的详细内容。更多信息请关注PHP中文网其他相关文章!