Reputation: 123
I am trying to use a C++ .dll
in Python, but I can't even load it. I am trying the following python code to load it:
from ctypes import cdll
mydll = cdll.LoadLibrary('SORT_DLL.dll')
But when I try to run this I get:
D:\...\src\SORT_DLL\Debug>UseDll.py
Traceback (most recent call last):
File "D:\...\src\SORT_DLL\Debug\UseDll.py", line 2, in
<module>
mydll = cdll.LoadLibrary('SORT_DLL.dll')
File "C:\Python27\lib\ctypes\__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 ist keine zulõssige Win32-Anwendung
The last sentence means "%1 is not a valid Win32 application" in English.
I already looked it up at http://docs.python.org/2/library/ctypes.html#module-ctypes , but this didn't lead to a solution for my problem.
Upvotes: 8
Views: 4777
Reputation: 757
Sounds like you have an incompatible version of Python installed or the DLL was compiled using the wrong settings. The DLL and the Python interpreter both have to be either 32 or 64 Bit.
Upvotes: 6
Reputation: 1072
Refer to this answer: https://stackoverflow.com/a/10163943/953887
"ctypes doesn't work with C++, which the [DLL] example is written in."
Upvotes: 0