Seite 1 von 1

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

Verfasst: 8. Oktober 2011 22:30
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!

Re: qmake: einstiegspunkt von shared lib setzen?

Verfasst: 9. Oktober 2011 09:15
von Christian81
Wenn die DLL eine korrekte DLllMain - Funktion hat dann wird sie auch aufgerufen.

Re: qmake: einstiegspunkt von shared lib setzen?

Verfasst: 9. Oktober 2011 13:50
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)