在网上找了半天的windows环境下lua的编译,没有讲得详细的,我自己研究了一上午才弄出来,下面贴出我的方法。
lua主要由三部分组成,lua链接库,lua解释器,lua编译器,因此我们最后要生成的就是lua.exe和luac.exe两个文件。
资源:官网上下载的lua-5.3.1解压到一个文件夹下, vs2012
步骤:
1.编译Lua链接库
(1)在vs2012下创建一个项目,类型win32控制台程序,名字叫lua53,应用程序类型静态库,不设预编译头
(2)如果有vs自己创建的.cpp或.h文件,删掉他们(我的是没有),删掉资源文件的ReadMe.txt
(3)将下载的lua5.3.1中的src文件夹下的所有文件都添加到项目中,然后删除lua.c、luac.c和lua.hpp这三个文件
(4)F7编译项目,会在debug文件夹下得到一个lua53.lib,这就是我们的链接库
2.编译lua解释器
(1)在统一解决方案下创建另一个项目lua,win32控制台程序,应用程序类型控制台应用程序,不要预编译头。
(2)同样移除掉所有自动生成的.cpp和.h文件,然后添加src下的所有文件,然后删除luac.c这个文件
(3)设置当前项目依赖于lua53项目
(4)编译得到lua.exe文件,这就是解释器
3.编译lua编译器
步骤除了项目名字改为luac和(2)删掉的是lua.c这个文件,其它的步骤完全一样。
编译生成luac.exe
4.测试一个lua程序
在debug目录下有两个exe文件,我们先看看解释器lua.exe,打开在里面写print("Hello World")回车接着输出Hello World
5.编译一个lua程序
有的时候我们的lua程序不想被别人看到源码,我们就编译成一个.out中间文件,首先创建一个lua程序(新建记事本程序后改后缀名.lua)hello.lua,在里面写print("Hello World")然后在控制台切换到luac.exe的目录下输入luac hello.lua,会得到一个luac.out文件,然后在控制台输入lua.exe luac.out就可以输出Hello World了