Heim >Backend-Entwicklung >C++ >Warum zeigt mein Qt-Projekt den Fehler „Undefinierter Verweis auf vtable' an, obwohl keine virtuellen Methoden vorhanden sind?
Der Qt-Linker meldet einen Fehler mit der Meldung „undefinierter Verweis auf vtable“ für die BarelySocket-Klasse, obwohl in der Klasse keine virtuellen Methoden vorhanden sind. Der Fehler bleibt auch nach dem Ausschließen der QVector
Die Lösung für diesen Fehler besteht darin, sicherzustellen, dass das Projekt ordnungsgemäß über das Dienstprogramm qmake erneut ausgeführt wurde, nachdem das Q_OBJECT-Makro zur BarelySocket-Klassendefinition hinzugefügt wurde. Das Q_OBJECT-Makro erfordert einen bestimmten Einrichtungsprozess, und wenn qmake nach dem Hinzufügen nicht ausgeführt wird, kann dies dazu führen, dass vtable-Definitionen fehlen.
Um das Q_OBJECT-Makro korrekt einzubinden und den Linker-Fehler zu verhindern , befolgen Sie diese Schritte:
Hinweis: Wenn der Fehler nach der erneuten Ausführung von qmake weiterhin besteht, kann dies auf andere Probleme in der Codebasis hinweisen.
Das obige ist der detaillierte Inhalt vonWarum zeigt mein Qt-Projekt den Fehler „Undefinierter Verweis auf vtable' an, obwohl keine virtuellen Methoden vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!