http://cgsgood.diandian.com/post/2011-07-07/2709705
参见INSTALL
1、下载lua源码,我使用的是lua5.1.4,解压再解压
2、使用visual studio 2005/2008 Command Prompt命令行工具,进入到lua的目录,目录下含有doc, etc, src等文件夹
3、在命令行中输入:etc\luavs.bat
。。。。。自动编译完,编译完的lua是release库
如果需要编译debug库,需要修改luavs.bat文件
打开luavs.bat文件,把其内容修改如下后,再重新执行etc\luavs.bat后就好了:
----------------这不是内容-----------------
@rem Script to build Lua under "Visual Studio .NET Command Prompt".
@rem Do not run from this directory; run it from the toplevel: etc\luavs.bat .
@rem It creates lua51.dll, lua51.lib, lua.exe, and luac.exe in src.
@rem (contributed by David Manura and Mike Pall)
@setlocal
@set MYCOMPILE=cl /nologo /MDd /Od /W3 /c /D_CRT_SECURE_NO_DEPRECATE
@set MYLINK=link /nologo
@set MYMT=mt /nologo
@set MYDLL=lua51_d.dll
@set MYLIB=lua51_d.lib
@set MYLUAEXE=lua_d.exe
@set MYLUACEXE=luac_d.exe
cd src
%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj
%MYLINK% /DLL /out:%MYDLL% l*.obj
if exist %MYDLL%.manifest^
%MYMT% -manifest %MYDLL%.manifest -outputresource:%MYDLL%;2
%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c
%MYLINK% /out:%MYLUAEXE% lua.obj %MYLIB%
if exist %MYLUAEXE%.manifest^
%MYMT% -manifest %MYLUAEXE%.manifest -outputresource:%MYLUAEXE%
%MYCOMPILE% l*.c print.c
del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj^
loslib.obj ltablib.obj lstrlib.obj loadlib.obj
%MYLINK% /out:%MYLUACEXE% *.obj
if exist %MYLUACEXE%.manifest^
%MYMT% -manifest %MYLUACEXE%.manifest -outputresource:%MYLUACEXE%
del *.obj *.manifest
cd ..
@setlocal
@set MYCOMPILE=cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE
@set MYLINK=link /nologo
@set MYMT=mt /nologo
@set MYDLL=lua51.dll
@set MYLIB=lua51.lib
@set MYLUAEXE=lua.exe
@set MYLUACEXE=luac.exe
cd src
%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj
%MYLINK% /DLL /out:%MYDLL% l*.obj
if exist %MYDLL%.manifest^
%MYMT% -manifest %MYDLL%.manifest -outputresource:%MYDLL%;2
%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c
%MYLINK% /out:%MYLUAEXE% lua.obj %MYLIB%
if exist %MYLUAEXE%.manifest^
%MYMT% -manifest %MYLUAEXE%.manifest -outputresource:%MYLUAEXE%
%MYCOMPILE% l*.c print.c
del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj^
loslib.obj ltablib.obj lstrlib.obj loadlib.obj
%MYLINK% /out:%MYLUACEXE% *.obj
if exist %MYLUACEXE%.manifest^
%MYMT% -manifest %MYLUACEXE%.manifest -outputresource:%MYLUACEXE%
del *.obj *.manifest
cd ..
----------------这不是内容-----------------