我有一个名为VBB.cpp
的C ++文件,其中包含几个类的实现,我使用pybind11
库为这些类编写了Python绑定,这些文件位于bindings.cpp
。我可以用以下代码成功编译代码:
g++ -O3 -Wall -shared -std=c++11 -fPIC `python3 -m pybind11 --includes` bindings.cpp VBB.cpp -o VBB`python3-config --extension-suffix
然后使用来自Python的C ++代码import library
。
我希望通过setuptools
将其转换为Python包。我刚刚使用https://github.com/pybind/python_example提供的示例setup.py
文件,并使用
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++'
),
如果我运行安装脚本,它会编译,但如果我尝试在Python中运行import VBB
,我会收到以下错误:
ImportError: dynamic module does not define module export function (PyInit_VBB)
我刚才使用setuptools
,所以我不确定我是否做错了什么。 GitHub的示例包没有任何问题。