pybind11学习 | VS2022下安装配置

pybind11是一个只有头文件(header-only)的轻量级库,其主要目的是建立C++的Python代码绑定,实现C++和Python无缝连接。我学习这个工具的目的,是为了能够在Python中调用C++代码实现一些计算密集型任务,同时培养自己的混合编程的能力。

1 环境

  • Windows11
  • VS2022
  • pybind11
  • Anaconda3 , with python 3.8

2 源码下载

首先去GitHub上将项目源码(https://github.com/pybind/pybind11)克隆下来。

在这里插入图片描述

Git命令行:git clone https://github.com/pybind/pybind11.git

pybind11 是 header-only 的,不需要编译动态链接库,直接使用即可。
在这里插入图片描述

3 VS配置

  • 在VS2022中新建一个C++工程。

  • 设置编译输出类型
    在这里插入图片描述
    在这里插入图片描述

  • 设置include包含路径
    在这里插入图片描述

  • 设置lib路径
    在这里插入图片描述

  • 设置链接器

在这里插入图片描述

这里的lib文件名取决于Anaconda3中的python版本。

4 测试

在VS中新建源文件pybind11_test.cpp,编译下面的测试代码:

#include<pybind11/pybind11.h>

namespace py = pybind11;

PYBIND11_MODULE(example, m) {
    
    

    m.doc() = "pybind11 example module";

    // Add bindings here
    m.def("foo", []() {
    
    
        return "Hello, World!";
    });

}

生成解决方案,得到lib文件和pyd文件。

在这里插入图片描述
在这里插入图片描述

有了上面两个文件,我们就能实现在Python中调用C++代码的目的了。

我们将这两个文件重命名为example后复制到python工程的根目录,然后新建一个.py文件执行下面代码进行测试。

import example
print(example.foo())

输出如下:

在这里插入图片描述

至此,pybind11的安装和配置完成,测试成功!

5 总结

后面开展对pybind11官方文档的学习,希望自己坚持一学一记!

参考

官方文档:pybind11 documentation

官方文档中文翻译:pybind11-Chinese-docs: pybind11中文文档

pybind11使用 - 简书 (jianshu.com)

猜你喜欢

转载自blog.csdn.net/qq_39784672/article/details/128390124