2017-02-10 2 views
0

파이썬 cffi 라이브러리를 사용하여 .dll 파일을로드하려고하는데 위젯을로드하려고합니다. 다음과 같은 오류 : -OSError : 라이브러리 C : WINDOWS libzsfc.dll을로드 할 수 없습니다. 오류 0xc1

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

나는이

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

를 사용하고 있지만이 나에게주는 오류, 나는이 문제를 해결하기 위해 많은 시도했지만이 동일하게 유지, 저 사람이 같은 문제에 직면하는 경우 알려 주시기 바랍니다 .

+0

0xC1 : 지정된 모듈을 찾을 수 없습니다. 어쩌면 DLL 찾을 수없는 다른 라이브러리에 따라 달라집니다 ... –

+0

같은 디렉터리에 모든 종속 파일을 넣어, 여전히이 오류가 직면 오전 환경에서 경로의 일부 종류를 설정해야합니까? – Mahendra

답변

0

윈도우에 dll을 먼저 등록해야한다고 생각합니다.로드가 정상적으로 작동합니다.

은 % SystemRoot % \ SysWOW64와 폴더에서 같은 use 명령을 regsvr32 <complete dll path>

Regsvr32.exe를 사용을 등록합니다. 예를 들어, DLL을 등록하려면 다음 명령을 입력하십시오. cd \ windows \ syswow64 regsvr32 c : \ filename.dll

+0

나는이 단계를 밟았지만 작동하지 않는다 ... 다른 생각은 없습니까? – Mahendra

+0

'ctypes'을 사용해 보셨습니까? 자세한 정보는 http://stackoverflow.com/a/252473 –

+0

ctypes와 cffi의''dlopen'' 함수는 Windows API에서''LoadLibrary()''를 호출하기 만하면됩니다. 만약 당신이 하나의 오류가 발생하면, 당신은 다른 사람에게도 같은 오류가 발생합니다. 나는 당신이 그것을 고칠 수있을만큼 Windows를 모른다. 32 비트 DLL을 64 비트 Python으로 또는 그 반대로로드하는 것과 비슷하거나 전혀 다른 것을 사용할 수 있습니다. –

관련 문제