swig是一个开发工具,用来帮助使用C/C++编写的软件和各种脚本语言进行嵌入连接。这里我只说下我这几天自己使用swig连接lua的经验吧。
首先去官网下载swig:www.swig.org,注意在windows平台下下载的是swigwin版本的。下载下来直接解压缩就可以了。然后配置一下你的环境变量,把你的swigwin的路径添加进path里面去。查看swig的环境变量是否设置好了,可以在dos下运行 “swig”命令,看提示即可,提示“Must specify an input file......”即表示环境变量设置成功了。
要想使用swig的功能,首先你得有一个接口文件,一般是XXX.i形式的,也就是后缀是.i。这个接口文件一般是自己手写的,因为涉及到在C++和脚本语言里面对象生命周期的问题,如果自动生成的话可能有比较大的风险。具体写法可以网上查找,有很多的文档可以参考,或者在你下载的swig解压缩包里::\swigwin-2.0.12\swigwin-2.0.12\Examples,这个目录下有很多例子,各种脚本的都有,其实我觉得看这些就够了,有不懂的地方就上网查好了。我需要用的是lua,所以我就研究了lua下的各种例子。
接下来去官网下载lua:www.lua.org,注意这里最好下载5.1或者5.1之前的版本,目前swig尚不支持5.2或者更高的版本。这里要说一下,官网上下载的是压缩包,解压缩之后是需要你自己手动生成lua的.lib文件的。打开VS2010,新建Win32 Console Application(Win32控制台程序),选择static library,去掉下面的预编译头的勾,然后将你下载下来的lua目录下的src里面的所有文件全