Seite 1 von 1

LNK2001 und LNK2019

Verfasst: 11. August 2011 13:00
von lespaul
Hallo,

ich habe folgendes Linkerproblem:
3>Linking...
3> Creating library C:\Eigene Dateien\Uni\Oron\Debug\Oron.lib and object C:\Eigene Dateien\Uni\Oron\Debug\Oron.exp
3>OntariO.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const OntariO::staticMetaObject" (?staticMetaObject@OntariO@@2UQMetaObject@@B)
3>Ontar2.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const OntariO::staticMetaObject" (?staticMetaObject@OntariO@@2UQMetaObject@@B)
3>Ontar3_ModPOI.obj : error LNK2001: unresolved external symbol "public: static struct QMetaObject const OntariO::staticMetaObject" (?staticMetaObject@OntariO@@2UQMetaObject@@B)
3>OntariO.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall OntariO::metaObject(void)const " (?metaObject@OntariO@@UBEPBUQMetaObject@@XZ)
3>OntariO.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall OntariO::qt_metacast(char const *)" (?qt_metacast@OntariO@@UAEPAXPBD@Z)
3>OntariO.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall OntariO::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@OntariO@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
3>OntariO.obj : error LNK2019: unresolved external symbol "protected: void __thiscall OntariO::signal_trigger(long,long)" (?signal_trigger@OntariO@@IAEXJJ@Z) referenced in function "public: virtual void __thiscall OntariO::HandleMessage(void * const)" (?HandleMessage@OntariO@@UAEXQAX@Z)
3>C:\Eigene Dateien\Uni\Oron\Debug\Oron.dll : fatal error LNK1120: 5 unresolved externals
Oron.cpp und Oron.h sind in der *.vcpro unter </Filter><Filter Name="Header Files" und Name="Source Files" eingetragen. Das Projekt wird als *.dll compiliert.
Ich habe ein SIGNAL in die bereits Funktionierende Klasse eingebaut. Dieses SIGNAL signal_trigger wird per emit gesendet und in einer anderen Klasse gebraucht.
Ontar2.cpp:

Code: Alles auswählen

connect( &refOntario, SIGNAL(signal_trigger(int, int)), this, SLOT( slot_On_Map_Click(int, int)) );
Q_OBJECT ist auch gesetzt. Kompilieren kann ich, jedoch nicht linken.

Sieht jemand mehr als ich?

LesPaul

Re: LNK2001 und LNK2019

Verfasst: 11. August 2011 13:18
von Christian81
Q_OBJECT im Header vergessen

Re: LNK2001 und LNK2019

Verfasst: 11. August 2011 13:25
von lespaul
Ja tatsächlich, super.

Nun bleibt nur noch mein LNK2019 problem..

Re: LNK2001 und LNK2019

Verfasst: 11. August 2011 15:01
von Christian81
Zu wenig Informationen - welches Buildsystem? Wenn Du weder qmake noch cmake benutzt dann solltest Du selbst die Doku zu moc lesen und die Benutzerdefinierten Buildsteps selbst eintragen.
Also nimm qmake oder cmake.

Re: LNK2001 und LNK2019

Verfasst: 11. August 2011 16:46
von lespaul
Windows XP 32bit, Microsoft Visual Studio 9. DIe Projektdateien wurden mit cmake-2.8 generiert.
ReBuild hat den fehler behoben bin erstmal zufrieden.