由于想要在一个原生应用里提供脚本功能,而Python的发布不能不说是一件麻烦事。因为所需要的脚本功能很简单,所以决定试试传说中的Lua。
第一步,下载源码。虽然Lua有提供二进制版本下载,但是因为我是用Turbo C++ Explorer(即C++Builder的免费版),所以我决定还是自己编译一下源码。下载位置当然是Lua的官方网站:http://www.lua.org。
第二步,编译安装。源码里只提供了GCC用的MAKE文件和VC用的一个BAT文件,BCB则需要自己动手了。开始不知道什么地方搞错,总是编译不对——虽然编译成功,但是执行出错。折腾了一阵子才总算大功告成,相应的编译参数如下:
- bcc32 -DNDEBUG -DNO_STRICT;_NO_VCL -Hc -tWD -w-par -O2 -b- -k- -vi
- -tWM -tW- -c -DLUA_BUILD_AS_DLL -P- l*.c del lua.obj del luac.obj ilink32 -Tpd -Gn -j -x -Gi c0d32.obj lapi.obj lauxlib.obj
- lbaselib.obj lcode.obj ldblib.obj ldebug.obj ldo.obj ldump.obj
- lfunc.obj lgc.obj linit.obj liolib.obj llex.obj lmathlib.obj lmem.obj
- loadlib.obj lobject.obj lopcodes.obj loslib.obj lparser.obj lstate.obj
- lstring.obj lstrlib.obj ltable.obj ltablib.obj ltm.obj lundump.obj
- lvm.obj lzio.obj, lua51.dll, , import32.lib cw32mt.lib, , del *.tds del *.obj bcc32 -D_isatty=isatty -DNDEBUG -DNO_STRICT;_NO_VCL -Hc -w-par
- -O2 -b- -k- -vi -tWC -tWM -tW- -c -DLUA_BUILD_AS_DLL -P- lua.c ilink32 -Tpe -Gn -j -x c0x32.obj lua.obj, lua51.exe, ,
- import32.lib lua51.lib cw32mt.lib, , del *.tds del *.obj
第三步,Hello world。运行编译成功的lua51.exe试试:
- print "Hello world!"
搞定。
剩下的工作就是读云风译的LUA文档学习了——唉,上了年纪以后学习新东西的难度大多了。
原文链接:http://tech.it168.com/j/2008-02-17/200802171040545.shtml