在Windows上安装Lua时出错

我下载了Lua v5.3.0和编译器以及Zip-7,并将它们全部保存在C:\\gcc-install-lua目录中,然后打开记事本并写下以下代码:

@echo off
    :: ========================
    :: file build.cmd
    :: ========================
    setlocal
    :: 如果需要,可以修改下面的变量值
    :: 来适应下载的版本
    set lua_version=5.3.0

    set work_dir=%~dp0
    :: 去掉末尾的反斜杠
    :: 增强后续步骤的可读性
    set work_dir=%work_dir:~0,-1%
    set lua_install_dir=%work_dir%\lua
    set compiler_bin_dir=%work_dir%\tdm-gcc\bin
    set lua_build_dir=%work_dir%\lua-%lua_version%
    set path=%compiler_bin_dir%;%path%

    cd /D %lua_build_dir%
    mingw32-make PLAT=mingw

    echo.
    echo **** 编译结束 ****
    echo.
    echo **** 构建二进制发行版 ****
    echo.

    :: 创建一个干净的“二进制”安装
    mkdir %lua_install_dir%
    mkdir %lua_install_dir%\doc
    mkdir %lua_install_dir%\bin
    mkdir %lua_install_dir%\include

    copy %lua_build_dir%\doc\*.* %lua_install_dir%\doc\*.*
    copy %lua_build_dir%\src\*.exe %lua_install_dir%\bin\*.*
    copy %lua_build_dir%\src\*.dll %lua_install_dir%\bin\*.*
    copy %lua_build_dir%\src\luaconf.h %lua_install_dir%\include\*.*
    copy %lua_build_dir%\src\lua.h %lua_install_dir%\include\*.*
    copy %lua_build_dir%\src\lualib.h %lua_install_dir%\include\*.*
    copy %lua_build_dir%\src\lauxlib.h %lua_install_dir%\include\*.*
    copy %lua_build_dir%\src\lua.hpp %lua_install_dir%\include\*.*

    echo.
    echo **** 二进制发行版已构建 ****
    echo.

    %lua_install_dir%\bin\lua.exe -e"print [[Hello!]];print[[Simple Lua test successful!!!]]"

    echo.

    pause

并将其另存为在目录中的cmd文件,现在我想在命令行中运行build.cmd,但我得到了这个错误:enter image description here

之后,在创建的bin子目录下的Lua文件中没有lua.exe文件,我该如何解决?

点赞
用户1847592
用户1847592

如何在 Windows 上构建 Lua(给萌新)

该方法可能不适用于 OP 的情况,但在 Windows 上构建 Lua 的最简单方法是使用 Visual Studio(假定您已经在计算机上安装了它)。

您需要创建新文件 luavs.bat 并填写内容(见下文)

cd /d full\path\to\lua-5.3.4
notepad luavs.bat

现在您的 lua 发行文件夹应如下所示:

lua-5.3.4
 |___src
 |    |...
 |___doc
 |    |...
 |___Makefile
 |___README
 |___luavs.bat

您不能直接运行 luavs.bat,但需要在 Visual Studio 命令提示符中运行它(在“开始”菜单下的“所有程序”中搜索)。

出现以下行后:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>

请输入以下命令:

cd /d full\path\to\lua-5.3.4
luavs.bat
mkdir C:\Lua
copy /y src\lua53.exe C:\Lua
copy /y src\lua53.dll C:\Lua
copy /y src\luac53.exe C:\Lua
mkdir C:\Lua\lua

现在将文件夹 C:\Lua 添加到环境变量 PATH 的开头(控制面板 -> 系统 -> 高级 -> 环境变量)。

您现在可以使用 lua53 命令运行 Lua。

文件夹 C:\Lua\lua 用于 Lua 模块。


luavs.bat 的内容:

@rem Script to build Lua 5.3 under "Visual Studio .NET Command Prompt".
@rem It creates lua53.dll, lua53.lib, lua53.exe, and luac53.exe in src.
@rem (contributed by David Manura and Mike Pall)

@setlocal
@set VERS=53
@set MYCOMPILE=cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE
@set MYLINK=link /nologo
@set MYMT=mt /nologo

cd src
%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj
%MYLINK% /DLL /out:lua%VERS%.dll l*.obj
%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c
%MYLINK% /out:lua%VERS%.exe lua.obj lua%VERS%.lib
%MYCOMPILE% l*.c
del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj loslib.obj ltablib.obj lstrlib.obj loadlib.obj
%MYLINK% /out:luac%VERS%.exe *.obj
del *.obj
cd ..
2018-03-25 10:14:53