VS2019 Boost.Python封装C++库学习记录

比较简单,仅供小白参考哈。

本人安装的是Python3,安装目录为C:\Python37;

1.下载boost库在windows下通过b2.exe自己尝试编译库文件,编译方法可参考本文。

boost库下载链接:下载链接
boost库编译方法:boost库编译方法

2.打开VS2019,新建类型为dll动态链接库的项目,起名TheAPP,测试程序如TheAPP.cpp,内容如下:

#include "pch.h"
#include <boost/python.hpp>
#include <iostream>

char const* greet()
{
	return "hello, world";
}

int Add(int Num)
{
	Num += 1;
	return Num;
}

BOOST_PYTHON_MODULE(TheAPP)			
{
	using namespace boost::python;		
	def("greet", greet);
	def("Add",Add);
}

右击项目名称选择属性,更改以下地方后点击确定保存:
①包含boost的头文件和python的头文件
头文件包括
②链接相关库文件和将输出类型由dll改为pyd格式;
库文件包含
然后编译整个项目,在生成的Debug中找到TheAPP.pyd文件。

3.新建一个test文件夹,在文件夹内新建123.py程序,并将上述生成的TheAPP.pyd放在该文件夹里,此外还需将python的dll也放到该文件夹里(否则执行py程序会报警DLL load failed)。

下图左侧为test文件夹内容,右侧上方为123.py程序,右侧下方为执行py生成的结果。
调用结果
备注:如果编译boost库时候选的stage方式,则不需要将python的2个dll拷进test文件夹即可运行。

关于调试

①将上述123.py增加一行代码,然后将程序运行起来,此时右侧窗口状态在等待用户输入,如下图:
debug
②在TheAPP里添加断点,然后点击菜单栏 调试->附加到进程,选中当前正在运行的python进程,点击下方的附加按钮,如下图:
调试
③此时在python程序里随意输入一个数值,然后在执行print(TheAPP.greet())代码时,vs中会进入对应的断点位置,此时可通过F10或F11在VS中进行单步调试,如下图:
断点调试
以上,就是Boost.Python封装C++库学习记录。

努力、奋斗!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值