[FAQ] undefined reference to vtable / signals & slots

Archiv häufig gestellter Fragen zum Thema Qt
Antworten
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

[FAQ] undefined reference to vtable / signals & slots

Beitrag von Christian81 »

Ich habe eine Klasse und sobald ich in die Definition dieser Klasse Q_OBJECT einfüge, bekomme ich Linkerfehler in der Art 'undefined reference to `vtable for MyClass'.

Lösung: Ein Hinzufügen von Q_OBJECT im Header benötigt einen anschliessenden Aufruf von qmake/cmake da nur während des qmake/cmake - Laufs die Header nach Q_OBJECT gescannt und die nötigen Compileraufrufe zur Erzeugung der moc-Konstrukte erzeugt werden (können).

Wer nicht mit qmake/cmake/anderes ordentliches Buildsystem arbeitet, sollte sich fragen warum er dies tut und (falls er immer noch der Meinung ist keinen Makefile-Generator zu benötigen) die Dokumentation für moc durchlesen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten