作者在 2018-03-23 15:04:11 发布以下内容
最新的Lua版本是5.3.4,网上能找到的编译过的版本有这么几种:
1、Lua5.3.4源码
2、用新版MinGW-w32/w64编译的Lua5.3.4,只有exe文件,没有链接库,同时MinGW必须带上libgcc_s_dw2-1.dll这么一个库,用起来比较麻烦
3、用TCC编译并压缩过的Lua5.3.4,只有64K大,但也没链接库
因此,我想重新编译源码,生成动态/静态链接库及exe文件。因为最近在学习TCC,而TCC是是标准的C99,所以试着用TCC(0.9.27)来编译。以下默认TCC已经安装好(其实就是解压TCC到某个文件夹,并设置环境变量)。
1、下载Lua源码,解压,放在某个文件夹,这里假设是C:\lua
2、进入C:\lua,建立一个批处理文件make4tcc.bat,内容如下:
3、运行make4tcc.bat
生成完毕,bin文件夹中是lua.exe luac.exe,以及动态链接库lua.dll和静态链接库liblua.a,include文件夹中是所有的头文件。
注意:编译luac必须使用静态链接库,使用动态链接库会出错,如果必须使用动态链接,请使用TCC0.9.26这个版本。这不是TCC的问题,其他编译器如GCC也会出现这个问题,不知是什么原因。