Q_OBJECT linker-Fehler!

Ich erhalte die folgende linker-Fehler, wenn ich bauen meine Anwendung.

HIMyClass.obj:: error:
nicht aufgelöstes externes symbol "public:
virtual struct QMetaObject const *
__thiscall CHIMyClass::metaObject(void)const
"
(?metaObject@CHIMyClass@@UBEPBUQMetaObject@@XZ)
Datei nicht gefunden : HIMyClass.obj

HIMyClass.obj:: error:
nicht aufgelöstes externes symbol "public:
virtual void * __thiscall
CHIMyClass::qt_metacast(char
const *)"
(?qt_metacast@CHIMyClass@@UAEPAXPBD@Z) - Datei nicht gefunden : HIMyClass.obj

HIMyClass.obj:: error:
nicht aufgelöstes externes symbol "public:
virtual int __thiscall
CHIMyClass::qt_metacall(enum
QMetaObject::Call,int,void * *)"
(?qt_metacall@CHIMyClass@@UAEHW4Call@QMetaObject@@HPAPAX@Z) - Datei nicht gefunden : HIMyClass.obj

Meiner Klasse Erklärung wie

class CHIMyClass:public QDialog
{
   Q_OBJECT

   ....

};

Wenn ich Kommentar Q_OBJECT die linker-Fehler erlischt (und offensichtlich bin ich nicht in der Lage, die Signale und slots). Ich bin mit der Qt Creator IDE und die Qt 4.5.3. Wenn ich Rebuild All es eindeutig, dass QMake aufgerufen werden. Ich denke, dass die generation der moc_* Dateien ist, wo das problem liegt. Ich bin mit Windows XP und cl, da der compiler.

Was könnte der Grund sein, hinter diese linker-Fehler?

Vielleicht File not found : HIMyClass.obj uns sagen, dass der Qt Creator nicht sah moc/obj/temp-Dateien?
Wirklich erneut qmake. Überprüfen Sie auch für fehlende oder zusätzliche " \ " - Zeichen in Ihrem .pro Datei.

InformationsquelleAutor liaK | 2010-07-16

Schreibe einen Kommentar