Seite 1 von 1

Klasse in DLL auslagern

Verfasst: 4. Februar 2009 17:37
von raven-worx
Hi,

bin neu in QT sowie DLLs...

ich habe versucht eine Klasse in eine DLL (im .pro file "TEMPLATE = lib" gesetzt") in eine DLL auszulagern.
Wenn ich jetzt in meiner Hauptanwendung versuche diese Klasse zu verwenden, bekomme ich "undefined reference to funktionsname aus klasse"-Fehler beim Kompilieren (im moc_klassenname.o)
Habe im .pro-File der Anwendung die Header-Datei der ausgelagerten Klasse ebenfalls angegeben und binde diese auch ein..
Habe auch Forward-Deklarations verwendet.

kann mir jemand sagen wie ich das richitg machen kann? :lol:

danke.
mfg

Verfasst: 4. Februar 2009 17:56
von solarix
kann mir jemand sagen wie ich das richitg machen kann?
Aber klar doch.,.. einfach im Forum suchen...:
http://www.qtforum.de/forum/viewtopic.php?t=7931

Verfasst: 4. Februar 2009 19:37
von raven-worx
danke für die Antwort. Ich habe die Suche benutzt, aber anscheinend nach dem flaschem gesucht.

Die bisherigen Fehler sind damit verschwunden, aber nun bekomme ich nur noch folgenden Fehler:

Code: Alles auswählen

release\moc_myclass.cpp:48: error: definition of static data member 'MyClass::staticMetaObject' of dllimport'd class.
release\moc_myclass.cpp:48: warning: 'MyClass::staticMetaObject' defined locally after being referenced with dllimport linkage
kann mit dieser Fehlermeldung leider nichts anfangen...

p.s. falls es relevant ist: meine Klasse erbt von QScrollArea

vielen Dank für die Mühe.
mfg