注:这个只是我从自己的草稿箱里整理出来的,系菜鸟。
写这个笔记的背景是我想学习怎么可以让python调用opencv里的函数。
据说是可以自己写wrap的,但是swig是一个很方便的工具。
SWIG是一个能将C或者C++编写的程序与其它各种高级语言如Perl, Python, Ruby, 和 Tcl进行联接的开发工具。
其原理是从C/C++头文件中找到申明并利用他们生成脚本语言访问C/C++代码所必须的封装代码。
SWIG具有高度可自定义的特点,它能帮助你生成适合你的应用程序的封装包。
In order to compile SWIG generated code into an extension module, you usually have to create a shared library. This page contains information about doing this on different platforms.
http://www.dabeaz.com/cgi-bin/wiki.pl?SwigFaq/SharedLibraries
在一周前学习这个时候,我还在windows界面下,当时绕了一个弯子,其实针对windows界面可以直接下载swigwin,里面有生成的exe文件。
1.下载swigwin
windows下SWIG需要去官网下载一个安装包:
http://www.swig.org/
如果你想自己编译生成exe文件,可以参考这里
http://www.swig.org/Doc1.3/Windows.html
2.解压后,将exe文件所在的目录添加到环境变量中。
3.一个例子
(这个例子是照着下面的网址写的)
http://www.penzilla.net/tutorials/python/swig/
这里我学的是与python的链接。
我自己在桌面建立一个文件夹,将例子中的代码用记事本写好然后改了后缀名,放到里面。
在cmd里面,先cd到该文件夹
然后
$ swig -python example.i
这样就生成了 "example_wrap.doc" and "example.py"