Windows 编译 Lua版本 批处理

来源:互联网 发布:天子守国门知乎 编辑:程序博客网 时间:2024/05/29 13:25

在windows中,lua并没有提供相应的makefile供我们使用,我们需要自己构建一个批处理进行编译

在这里我提供了一个最近完成的一个批处理

使用方式很简单,放在解压之后的目录里面,跟makefile同一级即可(子级目录即为src)。

用VS的提供的命令行打开,然后找到批处理的目录,然后执行Make.bat 便可以完成相应的编译,如果需要编译出来的带上版本号,可以使用 Make.bat 53即可。

实现非常简单,这里就懒得解释了。

我采用的测试环境是win7 + vs2013 + lua53。

有任何问题欢迎反馈,不要谩骂哦。


--------------------------------------------

 上传不了文件,直接贴代码

--------------------------------------------


@echo off
set LUA_VERSION=lua%1
set LUA_COMPILIER_VERSION=luac%1
set OUT_PUT_BIN=..\lua\bin
set OUT_PUT_LIB=..\lua\lib
set OUT_PUT_INCLUDE=..\lua\include
set SUFFIX_LIB=.lib
set SUFFIX_DLL=.dll
set SUFFIX_EXE=.exe


@echo on
@echo --------------------------------------------------------------------------
@echo %LUA_VERSION% is compiling
@echo Try to find the src of lua ...
@echo --------------------------------------------------------------------------
@echo off
if not exist src goto MissingFile
cd src
@echo on
@echo --------------------------------------------------------------------------
@echo Compiling the l*.c...
@echo --------------------------------------------------------------------------
@echo off
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c


@echo on
@echo --------------------------------------------------------------------------
@echo Clean up cache...
@echo --------------------------------------------------------------------------
@echo off
del lua.obj luac.obj


@echo on
@echo --------------------------------------------------------------------------
@echo Linking lua dll...
@echo --------------------------------------------------------------------------
@echo off
link /DLL /out:%LUA_VERSION%%SUFFIX_DLL% l*.obj
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c luac.c


@echo on
@echo --------------------------------------------------------------------------
@echo Linking lua exe...
@echo --------------------------------------------------------------------------
@echo off


link /out:%LUA_VERSION%%SUFFIX_EXE% lua.obj %LUA_VERSION%%SUFFIX_LIB%
del lua.obj


@echo on
@echo --------------------------------------------------------------------------
@echo Linking compilier version...
@echo --------------------------------------------------------------------------
@echo off


link /out:%LUA_COMPILIER_VERSION%%SUFFIX_EXE% l*.obj


@echo on
@echo --------------------------------------------------------------------------
@echo Export independence libary to the output directory...
@echo --------------------------------------------------------------------------
@echo off


if not exist %OUT_PUT_LIB% mkdir %OUT_PUT_LIB%
move /Y %LUA_VERSION%%SUFFIX_LIB% %OUT_PUT_LIB%


if not exist %OUT_PUT_BIN% mkdir %OUT_PUT_BIN%
move /Y %LUA_VERSION%%SUFFIX_DLL% %OUT_PUT_BIN%
move /Y %LUA_VERSION%%SUFFIX_EXE% %OUT_PUT_BIN%
move /Y %LUA_COMPILIER_VERSION%%SUFFIX_LIB% %OUT_PUT_LIB%
move /Y %LUA_COMPILIER_VERSION%%SUFFIX_EXE% %OUT_PUT_BIN%


if not exist %OUT_PUT_INCLUDE% mkdir %OUT_PUT_INCLUDE%
xcopy /Y lua*.h %OUT_PUT_INCLUDE%
xcopy /Y lua.hpp %OUT_PUT_INCLUDE%
xcopy /Y lauxlib.h %OUT_PUT_INCLUDE%

del *.obj *.exp

@echo on
@echo --------------------------------------------------------------------------
@echo Done!
@echo --------------------------------------------------------------------------
@echo off
goto End


:MissingFile
@echo on
@echo Can't find the lua sources. please put this Make.batch to the directory of lua makefile
@echo off
:End
@echo off
cd ..
@echo on

0 0
原创粉丝点击