2017-08-12 3 views
0

Ich versuche, einen Wrapper für eine DLL zu erstellen. Die DLL wird in nativem PASCAL geschrieben, die Funktionen werden als STDCALL deklariert, um eine universelle Aufrufschnittstelle bereitzustellen.Dynamisch verknüpfte DLL mit Cython

Ich habe nur die DLL, keine Header-Dateien oder .lib-Datei. (Ich bin auf Windows).

Meine Erweiterung von setup.py-Datei sieht wie folgt aus:

ext_modules=[ 
    Extension("name", 
       sources=["name.pyx"], 
       libraries=["myDLL"] 
    ) 
] 

jedoch der Linker beschwert sich über nicht die LIB-Datei zu finden. Da ich die Dokumentation für die DLL habe, weiß ich, dass ich die Header-Dateien selbst schreiben kann, aber wie bekomme ich Cython, um die DLL anstelle der .lib zu akzeptieren?

+0

Würden Sie in der Lage sein, gegen eine DLL auf Windows zu verknüpfen beispielsweise in einem C++ - Projekt? – ead

Antwort

0

Die Bereitstellung des Pfades zur Bibliothek scheint das Problem zu lösen.

Das Dokument ist nicht klar, aber ich nahm an, dass der aktuelle Ordner nicht einmal durchsucht wird.

Assuming the library is installed in the usual places (e.g. under /usr/lib and /usr/include on a Unix-like system), we could simply change the extension setup [...]

Docs - Compiling and linking