除了一些游戏开发的脚本领域,在以OpenResty作为Web框架的后端开发中,Lua也会大量的使用,这就难免要对在Shell中测试、验证Lua语法,为此,小编写了一篇在Windows环境下编译Lua源码为可执行程序的教程(注:VS体积过于庞大,小编不太想安装VS以使用Visual C++编译器,而是使用有包管理工具的仿Linux环境的MSYS2。此外,同样的GCC编译器,方便跨平台(Windows、Linux)时,代码的编译及运行结果一致。其中,MSYS2及其MinGW64 GCC编译工具的安装及简单的使用,可参考小编的另一篇文章:1.0基于MSYS2的Mingw-w64 GCC搭建Windows下C++开发环境)。
-
该教程目录及文章结构如下:
- **1.下载Lua源码**
- **2.编译安装Lua**
- **3.测试编译安装结果**
1.下载Lua源码
- 如下图所示,从Lua官网寻找合适的版本下载源码。当然,也可以点击该链接http://www.lua.org/ftp/lua-5.1.5.tar.gz直接进行下载。这里以5.1.5版本为例,之所以选择该版本,是因为据说OpenResty绑定的LuaJit对应的Lua版本就是5.1.5。
2.编译安装Lua
- 下载Lua源码,解压后,将得到如下图所示的文件目录:
- 打开MSYS2 MinGW 64-bit,使用cd命令进入到源码目录,然后使用如下命令进行编译,该过程的截图如下图所示。
make mingw install local
-
这里,mingw参数用以指定使用的是Mingw绑定的GCC编译器进行编译,install local参数则是指明编译完成后,安装到本地(即当前目录)
-
编译安装完成后,得到的目录如下所示。与未编译的源码目录对比,可以看到这里多出来了bin、include、lib、man、share五个目录。
-
将源码目录,即“…/lua-5.1.5/src/”下的动态库“lua51.dll”复制到“…/lua-5.1.5/bin/”目录。(这可能是个MakeFile文件有缺陷所致,按理说,编译安装完后,应该已经复制到bin目录。)
-
为了使用方便,这里将编译好的整个目录移动到“C:/lua-5.1.5”路径下,一般来说,只移动bin目录即可,但为了在Lua中能够调用由C/C++编译而成的动态库,也需要移动头文件目录(include)和静态库目录(lib),即将上一步中产生的5个目录均移动到“C:/lua-5.1.5”路径下。
-
如下图所示,将“C:/lua-5.1.5/lua”bin目录添加到系统环境变量,以备lua命令可用
3.测试编译安装结果
- 如下图,打开Windows Terminal(也可以是cmd或者powershell),然后输入lua回车,即可进入lua的shell环境。输入luac,会有相应的使用提示,luac是用于将Lua源码编译为字节码的应用程序,需要指定输入输出文件。如上述过程正常,则说明整个Lua源码编译过程圆满完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)