为新手在 Windows 上构建 Lua |
|
这是一个循序渐进的教程,旨在帮助你在 Microsoft Windows 系统上开始使用 Lua,仅使用免费工具或任何 Windows 安装自带的工具来下载和编译源代码。用户只需要很少的编程经验。此教程也可能对对 Windows 平台了解不多但经验丰富的 Linux 用户有所帮助。
如果你是一位经验丰富的程序员,并觉得本教程过于简单或有限,请参阅 BuildingLua 页面,该页面内容更具技术性和详细性。
对读者的假设
上述许多假设并非严格要求,因为在接下来的内容中,一些过程将得到详细解释,但读者不应期望在这些主题上获得过多的指导。
教程按顺序步骤组织,可概述如下:
重要提示:我们建议您在开始实际操作之前,仔细阅读本页面的全部内容。请确保提前理解所有内容:这可以为您节省时间和麻烦。此过程相当 foolproof(我们希望),但你永远不知道!;-)
注意:此过程已在 Windows XP Professional(已安装 Service Pack 3 (SP3))的 x86 32 位计算机上,使用具有管理员权限的帐户进行过测试(Intel Mobile Core 2 Duo T7500 - 2GB RAM)。使用的编译器是 TDM GCC 4.9.2(32 位版本)。
注意:随着时间的推移,此处包含的某些链接可能会过时。因此,我们在下面不仅提供了软件包的直接链接,还提供了相关应用程序主页的链接。如果本页面未更新,这将允许有动力的读者通过自己浏览网站来适应显而易见的变化(例如,补偿链接中的未来版本号)。
我们将使用 TDM 的开源 GCC 编译器 Windows 版本。下载页面位于 [2],以下是我们需要的软件包的直接链接:[3]。单击上一个链接,按照说明进行操作,并等待下载完成。下载的文件应为 tdm-gcc-4.9.2.exe。它大约是 30MB,所以请确保你有足够快的 Internet 连接。
为避免可能出现的问题,请确保下载的软件包位于一个完整路径不包含空格的目录(文件夹)中。如果不是这种情况,请将其复制或移动到满足此要求的目录中。我们将下载的所有软件包都应放在此目录中(我们将整个教程的临时工作目录)。
在本教程中,我们将假设您已创建以下文件夹作为工作目录
C:\gcc-lua-install
如果您不是在此目录中下载的,请将您刚刚下载的安装程序复制(或移动)到工作目录中。现在我们的工作目录应该具有以下内容:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
Lua 源文件下载页面是 [4]。这是截至撰写本文时最新版本的直接下载链接:[5]。单击上一个链接,按照说明进行操作,并等待下载完成。请确保您下载的文件位于 C:\gcc-lua-install 目录中(或下载后将其复制/移动到那里 - 我们将不再重复这一点)。
现在我们在工作目录中有两个文件:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
Lua 源文件被打包成一种在 Linux 平台上非常常见但在 Windows 上不常见的存档格式:TAR-GZ 格式,正如文件名中的 .tar.gz 双扩展名所暗示的那样。Windows 操作系统无法原生解压此格式,因此我们需要一个能够执行此操作的程序。一个非常优秀且通用的适用于 Windows 的免费压缩/解压缩程序,它可以处理 TAR-GZ 文件(以及许多其他压缩格式),就是 [7-zip]。
由于我们希望尽可能简化流程,因此我们将不使用原始的 7-zip 安装包,因为后者在安装时会修改系统。相反,我们将使用一个由 [PortableApps.com] 打包并可在以下页面获得的替代“发行版”:[6]。单击下载链接,按照说明进行操作,并等待下载完成。请确保此文件也位于我们的工作目录中。
现在我们在工作目录中有三个文件:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
C:\gcc-lua-install\7-ZipPortable_9.20_Rev_3.paf.exe
现在,使用 Windows 的图形文件管理器Windows Explorer(不是 Internet Explorer!)浏览到我们的工作目录,并通过双击 tdm-gcc-4.9.2.exe 来执行编译器的安装程序。应该会出现一个对话框。
C:\gcc-lua-install\tdm-gcc 指定为安装目录。
现在,我们工作目录的当前内容应该是:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
C:\gcc-lua-install\7-ZipPortable_9.20_Rev_3.paf.exe
C:\gcc-lua-install\tdm-gcc
最后一项是编译器现在安装的子目录(请注意,在 Windows Explorer 中,这些项目可能会以不同的顺序显示)。
现在,通过双击我们工作目录中的文件 7-ZipPortable_9.20_Rev_2.paf.exe 来运行 7-zip 绿色安装程序。应该会出现一个对话框。
C:\gcc-lua-install\7zip 指定为目标文件夹。现在,我们工作目录的当前内容应该是:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
C:\gcc-lua-install\7-ZipPortable_9.20_Rev_3.paf.exe
C:\gcc-lua-install\tdm-gcc
C:\gcc-lua-install\7zip
最后一项是 7-zip 现在安装的子目录。
C:\gcc-lua-install\7zip),然后双击文件 7-ZipPortable.exe。这将执行 7-zip 并打开程序的主窗口,该窗口大致类似于 Windows Explorer。C:\gcc-lua-install 到其位置栏并按回车键)。lua-5.3.0.tar.gz),您应该会看到软件包的“内部”,其中有一个名为 lua-5.3.0.tar 的文件夹。lua-5.3.0.tar,您应该“进入”该文件夹,并看到另一个名为 lua-5.3.0 的文件夹。lua-5.3.0,应该会出现一个上下文菜单。从该菜单中选择“Copy To...”选项。应该会弹出一个带有“Copy”标题的对话框。C:\gcc-lua-install)指定为目标,然后按Ok。现在,浏览到我们的工作目录并进行检查:应该出现一个名为 lua-5.3.0 的新子目录。
现在,我们工作目录的当前内容应该是:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
C:\gcc-lua-install\7-ZipPortable_9.20_Rev_3.paf.exe
C:\gcc-lua-install\tdm-gcc
C:\gcc-lua-install\7zip
C:\gcc-lua-install\lua-5.3.0
最后一项是 Lua 源文件已解压的子目录。
build.cmd 的文本文件,然后将以下文本复制并粘贴到其中。
@echo off
:: ========================
:: file build.cmd
:: ========================
setlocal
:: you may change the following variable's value
:: to suit the downloaded version
set lua_version=5.3.0
set work_dir=%~dp0
:: Removes trailing backslash
:: to enhance readability in the following steps
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 **** COMPILATION TERMINATED ****
echo.
echo **** BUILDING BINARY DISTRIBUTION ****
echo.
:: create a clean "binary" installation
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 **** BINARY DISTRIBUTION BUILT ****
echo.
%lua_install_dir%\bin\lua.exe -e"print [[Hello!]];print[[Simple Lua test successful!!!]]"
echo.
pause
现在,我们工作目录的当前内容应该是:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
C:\gcc-lua-install\7-ZipPortable_9.20_Rev_3.paf.exe
C:\gcc-lua-install\tdm-gcc
C:\gcc-lua-install\7zip
C:\gcc-lua-install\lua-5.3.0
C:\gcc-lua-install\build.cmd
现在,通过双击 build.cmd 运行 Shell 脚本,应该会弹出一个黑色背景的窗口。您应该在其中看到脚本在运行时产生的消息(其中大部分是 GCC 在编译 Lua 源文件时产生的)。
这可能需要一段时间,但很大程度上取决于您 PC 的性能。在我们的测试系统中,大约需要一分钟,但那是一个相当旧的系统。编译完成后,脚本还将在我们的工作目录中创建一个“干净”的二进制分发版(即不包含不必要的源文件),并将执行一个简单的测试,该测试将在终止前打印一条欢迎消息。您应该能在黑色窗口的输出末尾看到这条不言自明的消息。现在可以关闭黑色窗口了。
现在,我们工作目录的当前内容应该是:
C:\gcc-lua-install\tdm-gcc-4.9.2.exe
C:\gcc-lua-install\lua-5.3.0.tar.gz
C:\gcc-lua-install\7-ZipPortable_9.20_Rev_3.paf.exe
C:\gcc-lua-install\tdm-gcc
C:\gcc-lua-install\7zip
C:\gcc-lua-install\lua-5.3.0
C:\gcc-lua-install\build.cmd
C:\gcc-lua-install\lua
目录 C:\gcc-lua-install\lua 现在包含了运行 Lua 脚本所需的一切。您可以将此目录及其内容复制到任何方便的位置(甚至可以复制到 U 盘!)。Lua 二进制安装目录的内部结构应该是这样的:
lua-----+--bin
|
+--doc
|
+--include
在 bin 子目录中,您将找到 lua.exe,即 Lua 解释器(如果您双击它,它将以交互模式运行),而在 doc 子目录中,您将找到 Lua 参考手册。
如果您想能够键入
lua myscript.lua
从命令行运行 myscript.lua,则必须将 Lua bin 子目录添加到 Windows PATH 环境变量中。
将 lua 子目录复制到其最终位置后,您可以完全删除工作目录及其所有内容。
但是,您可以轻松地挽救许多有用的东西:
lua-5.3.0.tar.gz、tdm-gcc-4.9.2.exe 和 7-ZipPortable_9.20_Rev_3.paf.exe 可以保存起来以备将来使用或备份。tdm-gcc 可以复制或移动到任何您想要的地方(注意不要将其放在包含空格的目录中),并且可以通过命令行直接调用 tdm-gcc\bin 中的工具(但如果您想避免指定它们的完整路径,则必须将 tdm-gcc 添加到 Windows PATH 中)。7-ZipPortable.exe 可执行文件来启动 7-zip。它非常轻便,即使放在 U 盘上也很方便! 目录并查看 Lua 源代码,但您需要成为一名 C 程序员才能理解其中的大部分内容!
这些说明已通过以下设置验证有效:
tdm-gcc-5.1.0-3、lua-5.3.5,于 2019-11-23 在 Windows 10 上
tdm64-gcc-9.2.0、lua-5.3.5,于 2020-03-11 在 Windows 10 上
tdm64-gcc-10.3.0、lua-5.4.4,于 2022-07-31 在 Windows 10 上