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)

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
要在Visual Studio中安装pybind11,可以按照以下步骤进行操作: 1. 首先,确保已经安装Python和Visual Studio。你可以从官方网站下载并安装Python(https://www.python.org/downloads/)和Visual Studio(https://visualstudio.microsoft.com/downloads/)。 2. 打开Visual Studio,并创建一个新的C++项目。 3. 在项目文件夹中,下载pybind11的源代码。你可以从pybind11的GitHub页面(https://github.com/pybind/pybind11)下载源代码的压缩包,并将其解压到项目文件夹中。 4. 在Visual Studio中,右键点击解决方案资源管理器中的项目名称,选择“属性”选项。 5. 在属性窗口中,选择“VC++目录”选项卡,并在“包含目录”一栏中添加pybind11源代码的路径。例如,如果你将pybind11源代码解压到项目文件夹的子文件夹中,可以添加类似于`$(ProjectDir)\\pybind11`的路径。 6. 在属性窗口中,选择“C/C++”选项卡,并在“常规”一栏中添加以下附加包含目录: ``` $(IncludePath);$(ProjectDir)\\pybind11\\include ``` 7. 在属性窗口中,选择“链接器”选项卡,并在“常规”一栏中添加以下附加库目录: ``` $(LibraryPath) ``` 8. 在属性窗口中,选择“链接器”选项卡,并在“输入”一栏中添加以下附加依赖项: ``` python37.lib ``` 请注意,上述依赖项的名称可能因你的Python版本和安装路径而有所不同。确保根据你的Python版本和安装路径设置正确的依赖项。 9. 点击“应用”按钮,然后点击“确定”按钮,保存项目属性的更改。 现在,你可以在Visual Studio中使用pybind11来开发C++扩展模块。你可以创建一个新的C++源文件,并在其中使用pybind11库来导出C++函数和类到Python中。确保在项目中包含pybind11头文件,并将其链接到Python的相应库。编译和运行项目时,你将能够在Python中使用你导出的函数和类。 请注意,这里提供的是一种使用Visual Studio手动集成pybind11的方法。你也可以考虑使用CMake来自动化构建过程。具体步骤取决于你的项目需求和个人偏好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值