考慮以下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中文網其他相關文章!