python调用c++之pybind11

这篇博客介绍了如何使用pybind11在Python中调用C++代码,包括在Windows环境下配置环境,安装pybind11,创建和编译C++库,以及在Python端进行调用。作者还分享了在测试过程中遇到的如PYBIND11_MODULE名称匹配、opencv Mat类型传递等问题及其解决方案。

之前一直从事c++相关算法及代码的相关工作,因公司内部代码管理需要,需将算法封装待python平台使用,根据此需求,对python调用c++代码的方式进行了学习,最终综合考虑封装难度及多代码管理使用pybind11进行了相关功能的实现。

pybind11是一个用于c++与python之间相互调用和数据交互的库

以我自己的算法为例介绍一下pybind11的基本使用,我的调用算法中还包含了其他的c++库,例如opencv,此处还出现了一个我没想到的bug后续会介绍。

Windows系统

Requires

win10,64bit

Visual Studio2015

python3.6(Anaconda)

pybind11安装

下载pybind11源码,获取其头文件,下载地址:https://github.com/pybind/pybind11

因其为Head-only形式的,不需要编译动态库,直接使用include即可。

demo应用测试

1、创建Vistual Studio工程,将需要调用的c++代码放入其中

设置项目类型及输出文件类型,分别为.pyd及dll

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值