Windows下python使用SWIG调用C++ dll

22 篇文章 0 订阅

    有一dll和对应的lib文件,含有以下函数:

test.h

class Test
{
private:
	int a;
	int b;
public:
	int r;
	Test(int, int);
	int add();
	int getV(Test*);
};

    则可以编写对应的.i文件:

test.i

%module test

%{
#define SWIG_FILE_WITH_INIT
#include "dlltest.h"
%}

int add(int a, int b);

class Test
{
private:
	int a;
	int b;
public:
	int r;
	Test(int, int);
	int add();
	int getV(Test*);
};
    使用swig:

    swig -c++ -python test.i

    得到对应的test.py和test_wrapper.cxx文件。

    将得到的这两个文件以及库lib文件一起编译成一个test.dll文件,再将该dll文件改名为_test.pyd。

    将test.py和_test.pyd以及依赖的dll库放到同一文件夹下,即可再该文件夹下import test并调用



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值