(python)利用python调用lib静态库

您所在的位置:网站首页 python如何添加库 (python)利用python调用lib静态库

(python)利用python调用lib静态库

#(python)利用python调用lib静态库| 来源: 网络整理| 查看: 265

小白又来摸石头过河,详细记录一下这几天的写bug历程,作为一篇学习笔记。近期需要用python对厂家提供的lib静态库进行调用,众所周知,python对c/c++ 的函数库调用很方便,导入ctypes模块,处理好对应的数据类型,就可以方便实现对.so、.dll动态库的调用。但是ctypes只能动态调用,所以不支持对lib静态库的调用。 我们考虑利用vs2019将lib静态库打包成一个dll类型的动态库,再利用ctypes模块来调用,方案思路来源于其他文章。下边的过程利用了一个自定义的静态库来验证此方案。

一、建立自定义的lib静态库文件

首先我们打开vs2019,选择新建空项目或直接建静态库项目: 在这里插入图片描述 建立了空项目的,需要手打把项目的属性里配置类型改为静态库(.lib),注意修改属性时,平台选择的是在x64模式下,且注意在新建项目时也要把主界面上边的选成x64模式,因为python一般是64字节的,所以我们整个过程产生的文件和调试环境也设置成64字节模式下的。 在这里插入图片描述在这里插入图片描述 新建头文件和c++文件,对应的代码如下,编写完成后,点击调试或生成解决方案: 在这里插入图片描述 于是我们可以在相对路径 .\x64\Debug 下找到生成的.lib文件: 在这里插入图片描述

二、在c++中调用生成的.lib静态库

在vs2019中新建一个空项目,把模式调整到x64的模式,在项目的相对路径下新建一个文件夹,用来存放我们自定义lib库的资料: 在这里插入图片描述 在其下一级目录,分别再新建一个lib文件夹和include文件夹,将第一步中的头文件和生成的lib文件,分别放入include文件夹和lib文件夹。

在这里插入图片描述 新建c++文件,输入一下代码:

#include #include #include using namespace std; int sum(int a, int b, int c) { //调用自定义lib库中的函数 return add(a, b)+c; } int main() { cout


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3