Windows 初學者 Lua 編譯指南

lua-users home
wiki

引言

這是一份分步指南教學,指導如何在 Microsoft Windows 系統上使用免費工具或 Windows 安裝中已有的工具下載並編譯原始碼,以順利執行 Lua。本指南對使用者的程式設計經驗要求不高。對於對 Windows 平台認識不深的 Linux 老手來說,也可能對這份指南感興趣。

如果您是一位經驗豐富的程式設計師,而且覺得這份指南過於簡單或有限,請參閱頁面 BuildingLua,它的技術性更強,且更為詳細。


概觀和必要條件

對讀者的假設前提

上述的假設前提大多不是嚴格的要求,因為在以下說明中,某些程序會被詳細解說,但讀者不應過度依賴這些內容來解惑。

此指南採用循序漸進的步驟組織而成,大綱如下

重要備註:建議您在開始執行程序之前完整閱讀此頁面。請確定您事先已理解其中的所有內容:這有助於您在後續節省一些時間和麻煩。這些程序相當萬無一失(我們希望如此),但誰說得準呢!;-)

注意:已在使用具有管理員權限的帳戶於已安裝 Service Pack 3 (SP3) 的 x86 32 位元電腦(Intel Mobile Core 2 Duo T7500 - 2GB RAM)上測試這些程序。所使用編譯器為 TDM GCC 4.9.2(32 位元版本)。

注意:隨著時間演進,此處包含的一些連結可能已過時。這就是為何下文不僅提供套件的直接連結,而且提供相關應用程式的主要頁面連結。在讀者積極配合下,假設此頁面未更新,應可自行瀏覽網站以適應顯而易見的變更(例如,連結中的未來版本編號予以補償)。


分步教學

步驟 1:下載編譯器 (TDM-GCC)

我們將使用 TDM 開放原始碼 GCC 編譯器的 Windows 轉譯版本。下載頁面見 [2],以下是我們需要的套件的直接連結: [3]。按一下前述連結,遵照指示,然後等待下載完成。已下載檔案應為 tdm-gcc-4.9.2.exe。下載約 30 MB,請務必確定網路連線速度夠快。

為避免可能的錯誤發生,請務必確定已下載套件位於完整路徑不包含空白的目錄 (資料夾) 中。如果不是此情況,請將其複製或移至符合此項需求的目錄。我們將下載的所有套件都應結束於此目錄(我們將其用作整個教學課程的暫時工作目錄)。

在本教學課程中,我們將假設您已建立以下資料夾作為工作目錄:

        C:\gcc-lua-install

如果您一開始並未於此處下載安裝套件,請將您剛剛下載的安裝套件複製 (或移動) 至工作目錄。現在,我們的工作目錄應有以下內容:

        C:\gcc-lua-install\tdm-gcc-4.9.2.exe

步驟 2:下載 Lua 原始碼

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

步驟 3:下載 Lua 原始碼的解壓縮程式 (7-Zip)

Lua 原始碼打包於在 Linux 平台上十分常見,但在 Windows 上並不常見的檔案格式中:TAR-GZ 格式,由檔案的雙重副檔名 .tar.gz 暗示。Windows 作業系統無法原生解壓縮此格式,所以我們需要一個可以解壓縮的程式。有能力處理 TAR-GZ 檔案 (以及許多其他壓縮格式) 的 Windows 免費壓縮/解壓縮通用強效程式為 [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

步驟 4:安裝編譯器

現在使用 Windows 的圖形檔案管理程式「Windows 檔案總管」(這不是 Internet Explorer!)瀏覽我們的工作目錄,並在 tdm-gcc-4.9.2.exe 上按兩下來執行編譯器的安裝程式。應該會出現一個對話方塊。

我們的工作目錄的目前內容現在應該是

        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 檔案總管中,這些項目可能會以不同的順序顯示)。

步驟 5:安裝解壓縮程式

現在在我們的工作目錄中,在檔案 7-ZipPortable_9.20_Rev_2.paf.exe 上按兩下,執行 7-zip 可攜式安裝程式。應該會出現一個對話方塊。

我們的工作目錄的目前內容現在應該是

        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 目前已安裝的子目錄。

步驟 6:使用 7-Zip 解壓縮 Lua 原始碼

現在瀏覽工作目錄並檢查該目錄:應該有一個新子目錄,名為 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 來源的子目錄。

步驟 6:建立 Windows Shell Script 來驅動建置

讀者應在工作目錄中建立一個名為 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 script,會出現一個背景為黑色的視窗。您會在視窗中看到 script 運作時產生的訊息 (大部分是 Lua 來源編譯期間的 GCC 訊息)。

這可能會花一點時間,但會大幅取決於您的電腦效能。在我們的測試系統中,大約需要一分鐘,但那是一個相當老舊的系統。編譯完成後,script 也會在工作目錄中建立一個「乾淨」的二進制發行版 (亦即不包含不必要的來源檔案),並執行一個簡單的測試,在終止之前會印出一個歡迎訊息。您可以在黑色視窗中,看到輸出的最後面有這個說明性訊息。現在您可以關閉黑色視窗了。

我們的工作目錄的目前內容現在應該是

        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

步驟 7:將 Lua 二進制安裝程式拷貝至適當的位置

目錄 C:\gcc-lua-install\lua 現在包含執行 Lua script 所需的一切。您可以將此目錄及其內容拷貝至任何您覺得方便的地方 (甚至拷貝到 USB 隨身碟中!) Lua 二進制安裝目錄的內部結構應該是以下這樣

        lua-----+--bin
                |
                +--doc
                |
                +--include

bin 子目錄中,您會找到 lua.exe,也就是 Lua 詮釋器 (如果您連續按兩下,它會以互動模式執行),而在 doc 子目錄中,您會找到 Lua 參考手冊。

步驟 8:設定系統執行 Lua 檔案

如果您想要能夠輸入

        lua myscript.lua

以從指令列執行 myscript.lua,您必須將 Lua bin 子目錄放在 Windows PATH 環境變數中。


結論性評論

lua 子目錄拷貝到其最終位置後,您可以完全刪除工作目錄及其所有內容。

但是,您可以輕鬆保留許多有用的項目

驗證測試

已驗證以下設定能正常操作這些說明

2019-11-23 在 Windows 10 上的 tdm-gcc-5.1.0-3lua-5.3.5

2020-03-11 在 Windows 10 上的 tdm64-gcc-9.2.0lua-5.3.5

2022-07-31 在 Windows 10 上的 tdm64-gcc-10.3.0lua-5.4.4

盡情使用 Lua!!!


最近變更 · 偏好設定
編輯 · 歷史記錄
上次編輯時間 2022 年 7 月 31 日 下午 12:33(格林威治標準時間) (差異)