DLL Oberfläche in QT
-
algorithmica
- Beiträge: 6
- Registriert: 24. Oktober 2007 11:53
- Wohnort: Bremen
- Kontaktdaten:
DLL Oberfläche in QT
Hallo!
Ich habe in ANSI C++ eine DLL für Windows geschrieben und möchte nun in QT 4.3 eine Oberfläche schreiben. Alles kompiliert prima, aber ich kriege es nicht dazu zu linken. Die Header-Datei aus dem DLL Projekt habe ich im QT-Projekt #include'ded und die .lib Datei in der .pro Datei unter LIBS += XXX.lib angegeben. Dazu sollte ich noch sagen, dass die Klasse in der DLL mit class __declspec(dllexport) CKlasse deklariert wurde.
Nun become ich beim kompilieren den Fehler "undefined reference to" für jede Funktion aus der DLL die ich aufrufen möchte.
Könnt Ihr mir weiterhelfen? Vielen Dank !!!!!
Patrick
Ich habe in ANSI C++ eine DLL für Windows geschrieben und möchte nun in QT 4.3 eine Oberfläche schreiben. Alles kompiliert prima, aber ich kriege es nicht dazu zu linken. Die Header-Datei aus dem DLL Projekt habe ich im QT-Projekt #include'ded und die .lib Datei in der .pro Datei unter LIBS += XXX.lib angegeben. Dazu sollte ich noch sagen, dass die Klasse in der DLL mit class __declspec(dllexport) CKlasse deklariert wurde.
Nun become ich beim kompilieren den Fehler "undefined reference to" für jede Funktion aus der DLL die ich aufrufen möchte.
Könnt Ihr mir weiterhelfen? Vielen Dank !!!!!
Patrick
__________________
Dr. Patrick Bangert
algorithmica technologies GmbH
Außer der Schleifmühle 67
28203 Bremen
p.bangert@algorithmica-technologies.com
http://www.algorithmica-technologies.com
__________________
Dr. Patrick Bangert
algorithmica technologies GmbH
Außer der Schleifmühle 67
28203 Bremen
p.bangert@algorithmica-technologies.com
http://www.algorithmica-technologies.com
__________________
Hi,
Der Linker findet die Lib nicht.
Hast Du die xxx.lib mit dem vollständigen Pfad angegeben?
Oder mit -lxxx.lib?
Hier Qt Docs:
http://doc.trolltech.com/4.3/qmake-vari ... .html#libs
Gruß,
Tom
Der Linker findet die Lib nicht.
Hast Du die xxx.lib mit dem vollständigen Pfad angegeben?
Oder mit -lxxx.lib?
Hier Qt Docs:
http://doc.trolltech.com/4.3/qmake-vari ... .html#libs
Gruß,
Tom
-
algorithmica
- Beiträge: 6
- Registriert: 24. Oktober 2007 11:53
- Wohnort: Bremen
- Kontaktdaten:
-
algorithmica
- Beiträge: 6
- Registriert: 24. Oktober 2007 11:53
- Wohnort: Bremen
- Kontaktdaten:
-
algorithmica
- Beiträge: 6
- Registriert: 24. Oktober 2007 11:53
- Wohnort: Bremen
- Kontaktdaten:
Hi Tom,
es gibt keine Spaces im Pfad. Die .lib wird gefunden (ich habe ausprobiert welche Fehlermeldung ich durch nicht finden bekomme -- der Linker sagt einfach, dass er die Datei nicht findet. Ich bekomme aber andere Fehler, also muss er die .lib finden.), aber irgendwie werden die Funktionen nicht gelinkt.
Gruß
Patrick
es gibt keine Spaces im Pfad. Die .lib wird gefunden (ich habe ausprobiert welche Fehlermeldung ich durch nicht finden bekomme -- der Linker sagt einfach, dass er die Datei nicht findet. Ich bekomme aber andere Fehler, also muss er die .lib finden.), aber irgendwie werden die Funktionen nicht gelinkt.
Gruß
Patrick
Hi,
langsam bin auch ich dann mit meinem Latein am Ende.
Aus irgendeinem Grund passen die Symbole mit den Funktionsprototypen
nicht zusammen.
Sind die Compiler-Settings der beiden Projekte einigermassen identisch?
Sorry - mehr fällt mich nicht ein!
Kannst Du die Projekte zur Verfügung stellen? - Wahrscheinlich nicht.
Evtl. in einem separatem Projekt reproduzieren und posten!
CU Tom
langsam bin auch ich dann mit meinem Latein am Ende.
Aus irgendeinem Grund passen die Symbole mit den Funktionsprototypen
nicht zusammen.
Sind die Compiler-Settings der beiden Projekte einigermassen identisch?
Sorry - mehr fällt mich nicht ein!
Kannst Du die Projekte zur Verfügung stellen? - Wahrscheinlich nicht.
Evtl. in einem separatem Projekt reproduzieren und posten!
CU Tom
wird das dll Project und deine .exe ueberhaupt mit dem selben compiler uebersetzt ?
Hasst du irgendwo "extern C" stehen ? (manche generatoren mogeln das mal unter) ...
Ciao ...
deine "einstiegsfunktionen" in die Dll sind normale funktionen die nur deine Klassendefinition als Parameter verwenden, oder exportierst du nur die komplette Klasse, und meinst mit den Funktionen die Methoden deiner Klasse ?Nun become ich beim kompilieren den Fehler "undefined reference to" für jede Funktion aus der DLL die ich aufrufen möchte.
Hasst du irgendwo "extern C" stehen ? (manche generatoren mogeln das mal unter) ...
Ciao ...
-
algorithmica
- Beiträge: 6
- Registriert: 24. Oktober 2007 11:53
- Wohnort: Bremen
- Kontaktdaten:
hi,
die DLL habe ich unter .NET 2005 geschrieben und versuche nun die Oberfläche mit mingw anhand der opensource Variante von QT zu kompilieren. Ich versuche die komplette Klasse zu exportieren und möchte dann die Funktionen der Klasse aufrufen. extern "C" habe ich nicht benutzt.
Wenn ich eine Oberfläche innerhalb von .NET schreibe, klappt alles. Deshalb bin ich nicht davon ausgegangen, dass meine DLL nicht in Ordnung ist. Hmmmm, jetzt habe ich zwar Zweifel, aber komme noch nicht so richtig weiter.
Gruß
Patrick
die DLL habe ich unter .NET 2005 geschrieben und versuche nun die Oberfläche mit mingw anhand der opensource Variante von QT zu kompilieren. Ich versuche die komplette Klasse zu exportieren und möchte dann die Funktionen der Klasse aufrufen. extern "C" habe ich nicht benutzt.
Wenn ich eine Oberfläche innerhalb von .NET schreibe, klappt alles. Deshalb bin ich nicht davon ausgegangen, dass meine DLL nicht in Ordnung ist. Hmmmm, jetzt habe ich zwar Zweifel, aber komme noch nicht so richtig weiter.
Gruß
Patrick
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: