2017-02-10 2 views
0

Ich versuche, eine .dll-Datei mit Python CFFI-Bibliothek zu laden, aber while ich versuche, es zu laden, bekomme ich folgende Fehlermeldung: -Erhalte diesen Fehler *** OSError: kann die Bibliothek nicht laden C: WINDOWS libzsfc.dll: Fehler 0xc1

*** OSError: cannot load library C:\WINDOWS\libzsfc.dll: error 0xc1 

ich bin mit diesem

from cffi import FFI 
ffi = FFI() 
lib = ffi.dlopen("libzsfc.dll") 

aber das gibt mir Fehler, habe ich versucht, eine Menge dieses Problem zu beheben, aber es bleibt gleich, lass es mich wissen, wenn jemand gleiche Problem konfrontiert .

+0

0xC1: Das angegebene Modul konnte nicht gefunden werden. Vielleicht hängt die DLL von anderen Bibliotheken ab, die nicht gefunden werden konnten ... –

+0

Ich lege alle abhängigen Dateien in das gleiche Verzeichnis, trotzdem habe ich diesen Fehler, muss ich einige Arten von Pfad in der Umgebung einstellen? – Mahendra

Antwort

0

Ich denke, Sie müssen zuerst die DLL in Windows registrieren, dann funktioniert die Ladung gut.

Um die gleiche Verwendung Befehl regsvr32 <complete dll path>

Verwenden Regsvr32.exe aus dem Verzeichnis% SystemRoot% \ Syswow64 Ordner zu registrieren. Geben Sie beispielsweise die folgenden Befehle ein, um die DLL zu registrieren: cd \ windows \ syswow64 regsvr32 c: \ filename.dll

+0

Ich bin diesem Schritt gefolgt, aber es ist nicht funktionieren ... Irgendeine andere Idee? – Mahendra

+0

Haben Sie die 'ctypes' versucht? Für weitere Informationen folgen Sie dem Link http://StackOverflow.com/a/252473 –

+0

Beide ctypes und cffi '' dlopen'' Funktion rufen Sie einfach '' LoadLibrary() '' von der Windows-API. Wenn Sie einen Fehler in einem erhalten, wette ich, dass Sie den gleichen Fehler in den anderen bekommen. Ich kenne Windows nicht genug, um Ihnen bei der Behebung zu helfen. Es kann etwas sein, das versucht, eine 32-Bit-DLL in ein 64-Bit-Python zu laden oder umgekehrt oder etwas völlig anderes. –

Verwandte Themen