nimp0u
nimp0u

Reputation: 123

could not load c++ DLL in python

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

Answers (2)

Pait
Pait

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

Laurence Dougal Myers
Laurence Dougal Myers

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

Related Questions