vs2013在图像处理中的应用(8):用SWIG自动包装C/C++接口

快乐虾

http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651)

欢迎转载,但请保留作者信息



很久没有摸图像处理的东西了,近期刚好需要有此需求,希望能够有一个比较好用的开发环境。在学校的时候做图像处理一直用的是matlab,不过现在正好在做VELT的开发,尝试用vs2013+python构造一个适合于自己用的开发环境。


接下来尝试用SWIG自动将C/C++的接口封装为Python可用的pyd,仍以之前的阶乘代码为例。


首先从swig.org下载swig-win-3.0.5,里面已经包含了swig.exe,将之解压缩到C:\Python27\swigwin-3.0.5,再将此目录添加到PATH环境变量中。


PyExt工程中添加一个PyExt.i的文件,内容如下:


/* File : PyExt.i */
%module PyExt

%inline %{
int fact(int n);
%}

将着将PyExt.i配置为自定义生成:



配置生成步骤:


Swig自动生成的PyExt.cpp中定义了模块的输出函数:


/*-----------------------------------------------
              @(target):= _PyExt.so
  ------------------------------------------------*/
#if PY_VERSION_HEX >= 0x03000000
#  define SWIG_init    PyInit__PyExt

#else
#  define SWIG_init    init_PyExt

#endif
#define SWIG_name    "_PyExt"

可以看到SWIG生成的名字带了_,与我们的项目名称不符,修改它,去掉下划线:

/*-----------------------------------------------
              @(target):= _PyExt.so
  ------------------------------------------------*/
#if PY_VERSION_HEX >= 0x03000000
#  define SWIG_init    PyInit_PyExt

#else
#  define SWIG_init    initPyExt

#endif
#define SWIG_name    "PyExt"

测试一下:




调试它:


搞定!
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值