为新手在 Windows 上构建 Lua |
|
本教程将逐步指导您在 Microsoft Windows 系统上使用 Lua,通过使用免费工具或任何 Windows 安装中已有的工具下载和编译源代码。用户只需要很少的编程经验。对于对 Windows 平台不太了解的 Linux 专家来说,本教程也可能很有用。
如果您是一位经验丰富的程序员,并且发现本教程过于简单或有限,请参阅页面 BuildingLua,该页面更加技术性和详细。
对读者的假设
以上许多假设并非严格要求,因为在接下来的步骤中,我们将详细解释一些过程,但读者不应该期望对这些主题进行过多的手把手指导。
本教程按顺序组织,可以概述如下
重要提示:我们建议您在实际开始操作之前完整阅读本页内容。确保提前理解所有内容:这可以节省您以后的时间和麻烦。此过程相当简单(我们希望如此),但您永远无法确定!;-)
注意:此过程已在具有管理员权限的帐户上进行测试,测试环境为运行 Windows XP Professional Service Pack 3 (SP3) 的 x86 32 位机器(英特尔酷睿 2 双核 T7500 - 2GB 内存)。使用的编译器为 TDM GCC 4.9.2(32 位版本)。
注意:随着时间的推移,此处包含的一些链接可能会过时。因此,我们不仅提供了指向软件包的直接链接,还提供了指向相关应用程序主页的链接。这应该允许有动力的读者适应明显的更改(例如,通过浏览网站自行弥补链接中未来的版本号),即使本页未更新。
我们将使用 TDM 的开源 GCC 编译器的 Windows 版本。下载页面位于 [2],而以下链接是我们要使用的软件包的直接链接:[3]。单击上一个链接,按照说明操作,等待下载完成。下载的文件应为 tdm-gcc-4.9.2.exe
。这是一个大约 30MB 的下载文件,因此请确保您的互联网连接速度足够快。
为了避免可能出现的问题,请确保下载的软件包位于其完整路径不包含空格的目录(文件夹)中。如果不是这种情况,请将其复制或移动到满足此要求的目录中。我们将下载的所有软件包都应放在此目录中(我们将将其用作整个教程的临时工作目录)。
在本教程中,我们将假设您创建了以下文件夹作为工作目录
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 的图形文件管理器(这 **不是** 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 资源管理器中,这些项目可能会以不同的顺序显示)。
现在通过双击我们工作目录中的文件 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 资源管理器。
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
,应该会出现一个上下文菜单。从该菜单中选择 **复制到...** 选项。应该会出现一个带有 **复制** 标题的对话框。
C:\gcc-lua-install
)作为目标,然后点击 **确定**。
现在浏览到我们的工作目录并检查它:应该存在一个名为 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 源代码时)。
这可能需要一段时间,但很大程度上取决于您的电脑性能。在我们的测试系统上,大约需要一分钟,但那是一个相当旧的系统。编译完成后,脚本还会在我们的工作目录中创建一个“干净”的二进制发行版(即没有不必要的源文件),并执行一个简单的测试,在终止之前打印一条欢迎消息。您应该在黑色窗口输出的末尾看到这条自解释的消息。现在您可以关闭黑色窗口。
我们工作目录的当前内容现在应该是
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 脚本所需的一切。您可以将此目录及其内容复制到您认为方便的任何位置(甚至 USB 闪存盘!)。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 年 3 月 11 日的 Windows 10 上
tdm64-gcc-10.3.0
,lua-5.4.4
,在 2022 年 7 月 31 日的 Windows 10 上