python — связывает внешнюю библиотеку C ++ с CPython

Я пишу модуль CPython, который использует (оборачивает) внешнюю библиотеку C ++, я написал setup.py содержащий:

from distutils.core import setup, Extension

# define the extension module
my_ext = Extension("_my_ext",
sources=["src/my_ext.cpp"],
include_dirs=["src/include"],
extra_link_args=["-fPIC"],
language="c++",
libraries=["~/path/to/external/lib/xxx.so"],
extra_objects=["~/path/to/external/lib/xxx.so"])

# run the setup
setup(ext_modules=[my_ext])

Расширение успешно скомпилировано:

$ python setup.py build_ext --include-dirs=~/path/to/external/lib1/:~/path/to/external/lib2/
running build_ext

Но при импорте модуль выдает следующую ошибку:

$ » python -c "import _my_ext"Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: ./_my_ext.so: undefined symbol:
_ZN10my_lib6system16my_lib_functionEPKc

Я думаю, что в процессе связывания, верно?

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]