Создание пакета Python для кода C ++, завернутого в pybind11, с помощью setuptools

У меня есть C ++ файл VBB.cpp который содержит реализации нескольких классов, и я написал привязки Python для этих классов, используя pybind11 библиотека, они расположены в bindings.cpp, Я могу успешно скомпилировать код с:

g++ -O3 -Wall -shared -std=c++11 -fPIC `python3 -m pybind11 --includes` bindings.cpp VBB.cpp -o VBB`python3-config --extension-suffix

А затем используйте код C ++ из Python с import library,

Я хочу превратить это в пакет Python через setuptools, Я просто использовал пример setup.py файл доступен на https://github.com/pybind/python_example и изменил Extension позвонить с

Extension(
'VBB',
['src/bindings.cpp', 'src/VBB.cpp'],
include_dirs=[
# Path to pybind11 headers
get_pybind_include(),
get_pybind_include(user=True)
],
language='c++'
),

Если я запускаю скрипт установки, он компилируется, но если я пытаюсь запустить import VBB в Python я получаю следующую ошибку:

ImportError: dynamic module does not define module export function (PyInit_VBB)

Я новичок в использовании setuptools поэтому я не уверен, что делаю что-то не так. Пример пакета от GitHub работает без проблем.

0

Решение

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

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

Других решений пока нет …

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