[Qt4 - Visualt Studio 2008 Express] MOC Einstellungen

Alles rund um die Programmierung mit Qt
Antworten
Matthias_
Beiträge: 16
Registriert: 4. April 2009 13:45

[Qt4 - Visualt Studio 2008 Express] MOC Einstellungen

Beitrag von Matthias_ »

Hallo, seit einigen Tagen versuch ich meine ersten Schritte in Qt.
Nun hab ich folgendes Problem, wenn ich eine eigene Klasse von der "QMainWindow" ableiten möchte.


Ich bekomme da immer die LinkerFehler:
1>MyWindow.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __thiscall MyWindow::metaObject(void)const " (?metaObject@MyWindow@@UBEPBUQMetaObject@@XZ)".
1>MyWindow.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void * __thiscall MyWindow::qt_metacast(char const *)" (?qt_metacast@MyWindow@@UAEPAXPBD@Z)".
1>MyWindow.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual int __thiscall MyWindow::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@MyWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z)".
So viel ich herausgefunden hab, liegt das an der fehlenden MOC Kompilierung.

Kann mir jemand erklären, wie ich diese genau durchführe, oder unter VS einstellen kann, dass dies dort automatisch geschieht ?

Danke schon mal im Vorraus.
tomf
Beiträge: 12
Registriert: 24. Oktober 2007 19:07

Beitrag von tomf »

1. Header File rechts anklicken -> Properties -> Custom Build Step
2. Editiere -> Command Line: "$(QTDIR)/bin/moc.exe" "$(InputPath)" -o "MOC\moc_$(InputName).cpp"
3. Editiere -> Outputs: "MOC\moc_$(InputName).cpp"
4. Kompilieren
5. das erstellte moc_xyz.cpp File zu deinem Projekt hinzufügen (im MOC Ordner)
6. Kompilieren + Linken

Du kannst/musst die Pfade natürlich anpassen.
Matthias_
Beiträge: 16
Registriert: 4. April 2009 13:45

Beitrag von Matthias_ »

Genial es funktioniert :D :D :D

Vielen Dank tomf !
Antworten