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.
[FAQ] undefined reference to vtable / signals & slots
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
[FAQ] undefined reference to vtable / signals & slots
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung