В общем есть сторонняя shared lib (so). хотел подключить ее к своему python скрипту с помощью ctypes. А тут раз и шиш
>>> from ctypes import cdll
>>> stdcpp=cdll.LoadLibrary('/home/me/workspace/libLName_d.so.1.0.1')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
stdcpp=cdll.LoadLibrary('/home/me/workspace/libName_d.so.1.0.1')
File "/usr/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /home/me/workspace/libName_d.so.1.0.1: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE
В общем ахтунг ! Питониш партизаниш!!
Исходники либы есть, написана на c++. По умолчанию автоский Makefile собирает ее как статическую (ar -> .a), править его не стал. Просто в папке с собранными ".o" собрал их в .so. Как я понимаю ctypes не работает с c++ ( или работает ? ). А переписывать ее - ололо, как долго.. тем более, что квалификация моя явно проигрывает автору. Какие есть наименее болезненные методы подтянуть нужную библиотеку в python коде ? Или я криво собрал .so (
Заранее спасибо.