以下是pybind11在visual studio2019中的配置,这里我使用的python版本是3.6,只要是3.9以下的python应该都可以,配置比较简单,比较适合小白。
- 步骤一:下载pybind11
- 步骤二:配置属性>>常规>>配置类型
- 步骤二:配置属性>>常规>>VC++目录
- 步骤三:链接器>>输入>>附加依赖项
- 步骤四:运行测试
- 步骤五:python调用
- *如果对您有帮助,收藏+关注+点赞再走吧!!!*
步骤一:下载pybind11
下载pybind11,解压到磁盘中。点此可下载 比如,我解压的位置是:E:\pybind11-master
步骤二:配置属性>>常规>>配置类型
打开VS,右键点击工程选择属性,配置属性>>常规>>配置 设置成dll。
步骤二:配置属性>>常规>>VC++目录
设置一:配置属性>>常规>>VC++目录>>包含目录:
python 的 include 目录: C:\xxxx\Python\Python36\include
pybind11 的 include 目录: E:\pybind11-master\include
设置二:配置属性>>常规>>VC++目录>>库目录:
python 的 libs 目录:C:\xxxx\Python\Python36\libs
如下所示:
步骤三:链接器>>输入>>附加依赖项
到 链接器>>输入>>附加依赖项 设置python相关依赖的lib。
这里,我们主要用的是python36.lib 和 python3.lib,这两个lib在python路径的libs文件夹中(C:\xxx\Python\Python36\libs)
步骤四:运行测试
输入以下代码,选择项目,点击生成(生成或重新生成!!!!),如果显示成功即可说明pybind11已经链接成功了哦!
#include <pybind11\pybind11.h> #include <iostream> void age(double age) { std::cout << "age = " << age << std::endl; } std::string Name(std::string& name) { std::cout << "Name: " << name << std::endl; return name; } namespace py = pybind11; PYBIND11_MODULE(example1, m) { m.doc() = "The general function"; m.def("age", &age); m.def("Name", &Name); }
步骤五:python调用
将生成的dll改成pyd后缀,并重命名为example1(与PYBIND11_MODULE名称相同),然后,复制到py同级目录中就可以调用了。
import example1 a = 10.5 example1.age(a) b = "lcl" c = example1.Name(b) print(c)
运行结果:
age = 10.5
Name: lianchangle
lianchangle