Thread Windows: Perl-Modul einer DLL mit XS (8 answers)
Opened by Gast at 2008-05-24 01:58

murphy
 2008-05-24 18:21
#110230 #110230
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
betterworld+2008-05-24 03:38:48--
[...]
Aber ich frage mich, warum Du ueberhaupt eine .a-Datei brauchst, wo Du doch Dein eigentliches Ziel als das Aufrufen einer Funktion aus einer DLL-Datei beschrieben hast.


Aufgrund dümmlichen Designs braucht man unter Windows um gegen eine DLL zu linken eine statische Importbibliothek, die Einsprungpunkte für die eigentlichen Funktionen in der DLL zur Verfügung stellt.

Deswegen erwähnt der OP auch, dass er diese statische Bibliothek mit der zum Generieren von Importbibliotheken gedachten Option --out-implib des Linkers erzeugt hat.

Für mich sieht es eigentlich so aus, als wäre auf der Perl- und XS-Seite alles in Ordnung. Obwohl bei -lHalloDLLtest.a eigentlich das -l nicht hingehört – aber wenn der Linker da nicht mault, wird es wohl funktionieren. In der DLL selbst hingegen scheint einfach die Implementation von add_dll zu fehlen.

Meine Empfehlung wäre daher, zunächst einmal die Kommandos zu überprüfen, mit denen die DLL gelinkt wurde bzw. mit objdump nachzusehen, ob die Funktion add_dll überhaupt in der DLL vorhanden ist.
When C++ is your hammer, every problem looks like your thumb.

View full thread Windows: Perl-Modul einer DLL mit XS