1. 下载pybind11
gittub中下载,pybind下载后解压
2. C++生成库文件
- 2.1.VS新建空白工程,工程名随意起
- 2.2更改目标文件名和配置类型
- 2.3更改目标文件拓展名
- 2.4添加include路径和库路径
包含目录中添加刚刚下载好的pybind的include路径以及pyhon的include文件,这里我使用的时Anaconda的下python的include:
E:\Software\pybind11-master\include
E:\ProgramData\Anaconda3\include
库目录为:
E:\ProgramData\Anaconda3\libs
- 2.5添加依赖项
链接器中输入E:\ProgramData\Anaconda3\libs
下的lib名
- 2.6添加main.cpp文件
#include "pybind11/pybind11.h"
int add(int i, int j)
{
return i + j;
}
PYBIND11_MODULE(example, m) // 模块名example
{
m.doc() = "add plugin";
m.def("add", &add, "add function (i, j)"); // 函数名,函数地址,描述
}
注意main.cpp文件中PYBIND11_MODULE(example, m)
的example要与目标文件名一致
- 2.7编译
无法启动是正常的,工程目录下的release路径找到example.pyd
3.Python调用
- 3.1python中安装pybind11
pip install pybind11 -i https://pypi.tuna.tsinghua.edu.cn/simple
将example.pyd放到与test.py同目录下
- 3.2运行test.py
import example
print(example.add(1,2))