Hallo zusammen, ich nutze MinGW als Matlab-MEX-Compiler unter Windows. Für die Fragestellung ist das vermutlich nicht von Belang - hier reicht es vermutlich, MinGW als C-Compiler unter Windows (7x64) zu betrachten. Ich habe DLLs, die für die Verwendung mit dem Microsoft-Visual C-Compiler vorbereitet sind, d.h. es liegt eine .dll und eine .lib vor. Ich will sie aber mit dem MinGW nutzen, der mit .lib-Dateien nichts anfangen kann. (Irgendwie kann er das schon- er frisst die Dateien und beschwert sich nicht mehr, daß die Symbolnamen fehlen. Allerdings erzeugt das fertige Binary eine Speicherschutzverletzung). Lade ich die DLL "ganz normal" dynamisch mit LoadLibrary+GetProcAddress läuft alles Paletti- allerdings ist das ganz schön viel Schreibarbeit. Gibt es eine Möglichkeit, aus .lib und .dll eine Headerdatei zu erzeugen, die MinGw versteht? Viele Grüße W.T.
Walter Tarpan schrieb: > Gibt es eine Möglichkeit, aus .lib und .dll eine Headerdatei zu > erzeugen, die MinGw versteht? Eine Headerdatei brauchst Du nicht, die hat mit dem Problem nichts zu tun. Du brauchst "nur" eine andere Importlibrary für die DLL, und die müsstest Du Dir sogar selbstbauen können: http://www.mingw.org/wiki/createimportlibraries
Rufus Τ. Firefly schrieb: > Eine Headerdatei brauchst Du nicht, die hat mit dem Problem nichts zu > tun. > > Du brauchst "nur" eine andere Importlibrary für die DLL, und die > müsstest Du Dir sogar selbstbauen können: > > http://www.mingw.org/wiki/createimportlibraries Hallo Rufus, danke für die Antwort. Ja, Du hast Recht, ich brauche nur irgendeine Beschreibung, die dem Linker sagt, in welcher DLL er die Symbolnamen findet. Das DLLtool sollte hier das richtige sein. Zumal die besagten DLLs mit dem DependencyWalker ihre Symbolnamen korrekt preisgeben. Vielen Dank W.T.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.