- 官方文档关于pybind11的介绍,请点击。
- 在文档中有提及支持的环境,如下:
On Windows, only Visual Studio 2015 and newer are supported since pybind11 relies on various C++11 language features that break older versions of Visual Studio.
在 Windows 上,仅支持 Visual Studio 2015 及更高版本,因为 pybind11 依赖于各种C++11 语言功能,这些功能打破了旧版本的 Visual Studio。 - 下载的pybind11的方式有多种,这里是采用直接下载安装包的方式安装包下载地址
- 可以理解为pybind11为C++中的一个库,#include 该库后,按照定义好的格式去编写接口,与C++交互。编译生成的.pyd文件为python可以调用的文件。
- Visual Studio 2019的工程配置:
设置编译输出类型
添加include包含
添加lib路径
链接器添加lib
此处默认安装anaconda环境和python37
-
设置输出.pyd文件
-
include包含路径
python/include
pybind11/include
3.添加lib路径
-
链接器配置
#include<pybind11/pybind11.h>
PYBIND11_MODULE(example, m) {
m.doc() = "pybind11 example module";
// Add bindings here
m.def("foo", []() {
return "Hello, World!";
});
}
如果在C++中调用了dll动态库,那么这也依赖依旧被需要。
摘自 https://www.jianshu.com/p/9619f8f02891