[gelöst] Externe Dll mit QT Verwenden

Alles rund um die Programmierung mit Qt
Antworten
dvdjimmy
Beiträge: 9
Registriert: 14. Februar 2007 08:29

[gelöst] Externe Dll mit QT Verwenden

Beitrag von dvdjimmy »

Hallo,

trotz umfangreicher Board-Suche habe ich für mich noch nichts brauchbares zu diesem Thema gefunden.

Ich habe hier ein c-programm vorliegen, welches Funktionen einer dll Datei nutzt. Dies habe ich über HINSTANCE und dann den GetProcAdress Geschichten irgendwie hinbekommen (leider bin ich aber immer noch nicht wirklich durchgestiegen wieso das so gemacht werden muss). Soweit funktioniert das Ganze auch.

Jetzt will ich diese Applikation vollständig mit Qt neu entwickeln. Dazu muss ich jetzt wieder auf diese dll zugreifen. Zusätzlich zur Dll habe ich noch die Header-Datei mit den Funktionsprototypen. Das ist aber auch schon alles. Gibt es jetzt unter Qt schon interne Funktionen, mit denen ich mir die Windows-Syntax ein wenig sparen kann und die Funktionen schneller ansprechen kann?

Ich verwende den VisualC++ Compiler mit Qt4.2.1

Vielen Dank schon vorab für eure Hilfe.

dvdjimmy
Zuletzt geändert von dvdjimmy am 17. Februar 2007 12:37, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

http://doc.trolltech.com/4.2/qlibrary

Wenn Du allerdings schon einen Header (und eine Import-Lib) hast, solltest Du Dich mal mit den allgemeinen Vorgehen zum Benutzen einer shared-Library befassen. Das ist nichts Qt-spezifisches und steht in jedem guten C/C++ - Buch (und ist m.E. zum Entwickeln von Anwendungen grundlegend und nötig)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
dvdjimmy
Beiträge: 9
Registriert: 14. Februar 2007 08:29

Beitrag von dvdjimmy »

Hi Christian,

danke für deine Antwort. Hmm...na eine lib habe ich nicht. Ich habe vom Hersteller nur die dll und die Header-Datei bekommen. Mit meinem alten Programm hat das bisher auch immer sehr schön funktioniert.

Ich werde mich jetzt mal ein wenig "schlau" lesen und melde mich dann wieder.

Viele Grüße,

dvdjimmy
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich gehe mal davon aus, dass die shared-lib - Funktionen reine C-Funktionen sind. Wenn dem so ist, kann man eine Import-Lib bauen und diese dann normal wie jede andere shared library linken.
Tools dafür sind pexports, reimp und lib -> http://www.mingw.org/mingwfaq.shtml#faq-msvcdll

Ohne Import-Lib kannst Du es nur so wie vorher auch machen - jede Funktion einzeln per QLibrary::resolve() 'importieren'

Beim Bau der Import-Lib kann ich helfen, allerdings nicht hier im Qt-Forum da dies absolut nichts miteinander zu tun hat.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten