Это отлично работает в Windows 7 с Python 2.7:
lib = ctypes.cdll.LoadLibrary('prov_means')
provmeans = lib.provmeans
Библиотека prov_means.DLL находится в моем рабочем каталоге. Он экспортирует простую автономную C-функцию provmeans() без зависимостей.
Когда я пытаюсь сделать то же самое в Windows XP и Python 2.7, я получаю
Traceback (most recent call last):
File "D:\python\Auxil\src\auxil.py", line 130, in <module>
lib = ctypes.cdll.LoadLibrary('prov_means')
File "C:\Python27\lib\ctypes\__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "C:\Python27\lib\ctypes\__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found
Я попытался скопировать DLL в Windows\System32, а также ввести полное имя пути
"d:\\python\\auxil\\src\\prov_means"
с расширением ".DLL" и без него. Ничего не работает.