如何从 Visual Studio 中的给定 .pyd 输出构造 python 代码?
How do I construct python code from a give .pyd output in Visual Studio?
我正在尝试开发一个项目,使用 Pybind11 将 C++ 函数与 python 集成。我对 C++ 非常熟悉,但对 Python 却不是那么熟悉。我有以下格式的文件,是我为 C++ 项目开发的。
C++ 的输出为:cppproject.pyd
我要集成的C++函数:int add(int i, int j)
Pybind11 模块:PYBIND11_MODULE(示例,m){....}
我有我需要的所有文件。但我现在需要 运行 Python 中的添加函数,我对如何编码感到困惑。
我试过了
from cppproject import example
example.add(1, 2)
但它抛出如下异常:
dynamic module does not define module export function (PyInit_cppproject)
python 代码哪里出错了?
如果有帮助,这是我的 C++ 代码:
#include <Python.h>
#include <pybind11/pybind11.h>
int add(int i, int j) {
return i + j;
}
PYBIND11_MODULE(example, m) {
m.def("add", &add, "A function which adds two numbers");
}
此文件的输出为 .pyd 格式,以便于 python 集成。
编辑:顺便说一句,我正在尝试 运行 C++ 和 Python 项目,作为 Visual Studio 中的一个解决方案。
如果您将输出文件命名为 example.pyd
。
应该可以工作
然后:
from example import add
或者:
PYBIND11_MODULE(cppproject, m) {
auto example = m.def_submodule("example");
...
}
我正在尝试开发一个项目,使用 Pybind11 将 C++ 函数与 python 集成。我对 C++ 非常熟悉,但对 Python 却不是那么熟悉。我有以下格式的文件,是我为 C++ 项目开发的。
C++ 的输出为:cppproject.pyd
我要集成的C++函数:int add(int i, int j)
Pybind11 模块:PYBIND11_MODULE(示例,m){....}
我有我需要的所有文件。但我现在需要 运行 Python 中的添加函数,我对如何编码感到困惑。
我试过了
from cppproject import example
example.add(1, 2)
但它抛出如下异常:
dynamic module does not define module export function (PyInit_cppproject)
python 代码哪里出错了? 如果有帮助,这是我的 C++ 代码:
#include <Python.h>
#include <pybind11/pybind11.h>
int add(int i, int j) {
return i + j;
}
PYBIND11_MODULE(example, m) {
m.def("add", &add, "A function which adds two numbers");
}
此文件的输出为 .pyd 格式,以便于 python 集成。 编辑:顺便说一句,我正在尝试 运行 C++ 和 Python 项目,作为 Visual Studio 中的一个解决方案。
如果您将输出文件命名为 example.pyd
。
然后:
from example import add
或者:
PYBIND11_MODULE(cppproject, m) {
auto example = m.def_submodule("example");
...
}