研究了一下tolua++,发现还不错,用来导出枚举、函数、对象都很方便,编译过程如下:
1,到tolua++官网下载源码,用src/lib目录下的文件建立一个lib工程,这个工程需要引用lua5.1.4的头文件。
2,编译后得到tolua.lib文件。
3,用src/bin目录下的2个文件建立一个exe工程,这个工程需要引用lua5.1.4的头文件和lib;编译完生产processpg.exe
4, processpg.exe这个文件用来将导出定义文件pkg转化为一个cpp文件
5,用tolua++的tests目录下的例子,比如tclass,新建一个工程;注意需要用到processpg.exe来生成一个cpp文件,
并将该文件加入到该工程。
6,tclass例子包含一个脚本,脚本中有对类的导出和使用,运行5编译的结果看到脚本可以正确的执行。
一个小问题:开始我把第一步的lib编译成了dll,这个dll含有lua5.1的lib;最后这个dll被例子工程使用的时候会出现程序最后无故挂掉的情况,查了半天,代码和脚本一切都正常;后来把dll改成exe就正常了。lua有个问题就是,如果一个exe里面如果链接了多个lua的静态lib库,会出现程序挂掉的情况。
如果有看不明白的,可以看看tolua的官方文档:
http://www.tecgraf.puc-rio.br/~celes/tolua/tolua-3.2.html#introduction