[gelöst] qmake: einstiegspunkt von shared lib setzen?

Verschiedenes zu Qt
Antworten
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

[gelöst] qmake: einstiegspunkt von shared lib setzen?

Beitrag von -=Freaky=- »

guten abend,

ich bin gerade unter windows mit Qt 4.7.4 und mingw und will eine dll kompilieren. das klappt soweit problemlos, nur wird beim laden der einstiegspunkt nicht ausgefuehrt. nach einigen nachforschungen scheint es nun so, als wuerde mingw einen eigenen einstiegspunkt generieren, weil es meinen nicht als solchen erkennt.
ich habe eine DllMain funktion, wie mingw sie scheinbar erwarten soll (BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)).
ich konnte weder zu qmake, noch mingw infos finden, wie man den einstiegspunkt manuell angeben kann, nur zum microsoft compiler gibt es da reichlich infos.
die frage ist also, ob und ggf. wie man das mit qmake oder notfalls mit mingw (mingw32-make argumente?) hinbekommen kann.
vielen dank im voraus an jeden der mir weiterhelfen kann!
Zuletzt geändert von -=Freaky=- am 9. Oktober 2011 13:51, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qmake: einstiegspunkt von shared lib setzen?

Beitrag von Christian81 »

Wenn die DLL eine korrekte DLllMain - Funktion hat dann wird sie auch aufgerufen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Re: qmake: einstiegspunkt von shared lib setzen?

Beitrag von -=Freaky=- »

Christian81 hat geschrieben:Wenn die DLL eine korrekte DLllMain - Funktion hat dann wird sie auch aufgerufen.
du hast recht, es war mein fehler ... allerdings hat es auch irgendwie einige zeit gedauert, drauf zu stossen dass mit mingw die DllMain explizit exportiert werden muss.
die loesung ist also folgende:

Code: Alles auswählen

extern "C" __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
Antworten