17 Stimmen

Qt und keine moc_*.cpp-Datei

Ich entwickle eine einfache Qt 4-Anwendung und erstelle meinen eigenen Dialog. Ich habe die Unterklasse QDialog eingefügt, die Q_OBJECT Makro im Klassendeklarationsblock, und... Ich erhalte

[Linker-Fehler] undefinierte Referenz auf `vtable for MyDialog' und es gibt keine moc_MyDialog.cpp, die vom moc-Compiler erzeugt wurde.

Ich verwende Qt 4.1.3 unter Windows XP und mingw. Ich folgte dem Build-Prozess aus der von Qt bereitgestellten Build-Shell. Ich habe qmake zum Erstellen von make-Dateien verwendet und alles mit einem make-Befehl kompiliert.

Ich habe andere Klassen, die Unterklassen QPushButton y QObject aber sie lassen sich gut kompilieren. Ich kann keine Unterschiede zwischen ihnen und der defekten Version finden.

In der kaputten Klasse muss etwas fehlen, aber ich kann es nicht entdecken.

0voto

jelle foks Punkte 691

Die Meldung undefinierte Referenz auf `vtable for MyDialog' kann auch das Ergebnis einer fehlenden Implementierung (in MyDialog) einer rein virtuellen Funktion in einer Klasse sein, von der MyDialog abgeleitet ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X