栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++编译为动态链接库并用python调用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++编译为动态链接库并用python调用

将C++函数编译为动态链接库并用python调用

环境:win10 | vs2019 | python3 | ctype

① 创建 dll 项目

② 创建自己的头文件和源文件,自动生成的不用管(这样后面会有一个报错,改下设置就 ok l)

③ 需要导出让 python 调用的函数加一些关键字声明,其余的函数不用管,加的原因网上很多,不多说
将C/C++编译为动态链接库并供python调用其函数_潇洒过路客的博客-CSDN博客_编译成动态链接库以便python环境下可以被调用

④ 运行后,会报错,这个报错正常,生成成功就ok了
这里会报错 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “pch.h“
属性-预编译头-不使用预编译头
使用vs2019用c++创建dll库_xujianjun229的博客-CSDN博客_vs2019创建c++dll

运行后的界面

⑤ 我用的release ,所以生成的 dll 在release 里面,调用的库不同这里的dll数量也不同

⑥ 把 Dll1.dll 以及 他依赖的其他 dll 一起放到 python 脚本的同级目录(可以把release文件夹所有dll复制过去),不然可能会报错 找不到某个 dll

⑦最好在 c++ 设置一下输出,看一下c++接到的 数据是否正确
我这里需要传几个路径,所有用了一个结构体。注意c++ 和 python 之间的数据转换问题
python 使用ctypes调用C/C++ dll - 我来乔23 - 博客园 (cnblogs.com)

地址不对会报错: OSError: [WinError -529697949] Windows Error 0xe06d7363

⑧整个过程各种踩坑
留个坑:我这里的函数没有返回值,当我试着返回一张图时,会报错:
OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF
有说是内存的问题,不知道怎么破???

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号