Mac OS X Python ctypes ошибка cdll: изображение не найдено

52
6

Я новичок в Python. Когда я пытаюсь загрузить внешнюю DLL (которая была скомпилирована в Windows другими людьми) следующим образом:

from ctypes import *
import cv2, cv as cv

PainterRender = CDLL('/Users/gulilin/Desktop/DLL/PainterRenderDll')

Произошла ошибка:

Traceback (most recent call last):
File "/Users/gulilin/Desktop/Project/DLL Test.py", line 7, in <module>
PainterRender = CDLL('/Users/gulilin/Desktop/DLL/PainterRenderDll')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(/Users/gulilin/Desktop/DLL/PainterRenderDll, 6): image not found

Может ли кто-нибудь сказать мне, в чем дело?

спросил(а) 2013-12-17T16:54:00+04:00 6 лет, 3 месяца назад
1
Решение
52

Общие библиотеки (например, DLL Windows) похожи на скомпилированные исполняемые файлы: они работают только на платформе, для которой они были скомпилированы. ctypes может и не будет переводить между различными бинарными форматами и вызовами на разных платформах. Вам придется перекомпилировать DLL как общую библиотеку Mac OS (например, dylib).

ответил(а) 2013-12-17T17:43:00+04:00 6 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема