简体   繁体   中英

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.

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.

Refer to this answer: https://stackoverflow.com/a/10163943/953887

"ctypes doesn't work with C++, which the [DLL] example is written in."

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM