歡迎前往個(gè)人博客 駑馬點(diǎn)滴 和視頻空間 嗶哩嗶哩-《挨踢日志》
下載
這個(gè)過程最終將生成windows下運(yùn)行l(wèi)ua的包,可以從下面的百度盤中獲得:
鏈接: http://pan.baidu.com/s/1ckUlIY 密碼: 9n22
特別聲明
此篇根據(jù)英文版本翻譯,屬譯文,并根據(jù)自己的操作過程,更改了部分內(nèi)容。
原文連接:http://lua-users.org/wiki/BuildingLuaInWindowsForNewbies
序言
這是一篇手把手教你的教程,它講解了在微軟的Windows操作系統(tǒng)中建立Lua運(yùn)行環(huán)境的步驟。此過程中我們下載和編譯源文件時(shí),只會(huì)使用到免費(fèi)的工具或者Windows系統(tǒng)自帶的工具。對使用者的編程經(jīng)驗(yàn)要求極低。即使對Windows平臺知之甚少的Linux用戶,這篇教程也是不無裨益的。
如果你是一名經(jīng)驗(yàn)豐富的編程人員, 覺得這篇教程簡單或者對自己幫助有限, 可以嘗試從BuildingLua獲得更多的內(nèi)容。
概述及要求
希望讀者:
- 對Window的文件系統(tǒng)有一個(gè)總體的認(rèn)知,并知道一些由操作系統(tǒng)層提供的命令來執(zhí)行一些基本的操作(如:瀏覽文件系統(tǒng)、拷貝或者移動(dòng)文件、重命名文件、新建一個(gè)文件夾等等)
- 知道如何使用瀏覽器從網(wǎng)絡(luò)上下載文件
- 知道如何安裝一個(gè)程序
- 知道什么是文本文件以及如何使用文本編輯器創(chuàng)建它(對于本教程而言,Windows Notepad 已經(jīng)足夠,然而對于新手來說,免費(fèi)的SciTE 或者TextAdept會(huì)是更好的選擇)
- 知道什么是壓縮文件以及如何解壓它
- 知道什么是Windows命令shell以及如何喚出它
- 知道什么是Windows可執(zhí)行文件的搜索路徑以及如何為它添加搜索路徑(有時(shí)我們指的是系統(tǒng)路徑 或者簡單的PATH這個(gè)環(huán)境變量)
以上的某些要求并非讀者必須嚴(yán)格掌握的。在后續(xù)的過程中會(huì)對部分內(nèi)容的解釋,但讀者不應(yīng)期待過多。
本教程將按照以下的步驟進(jìn)行組織:
- 下載合適的C-編譯器(TDM GCC);
- 下載Lua程序源代碼包;
- 下載適用于Lua程序源代碼包的解壓縮器(7-zip);
- 安裝編譯器;
- 安裝解壓縮器;
- 解壓縮文件到合適的目錄;
- 配置編譯器,使得它能夠找到資源文件,并執(zhí)行Build過程(我們將使用Windows的shell腳本來執(zhí)行);
重要提示:我們強(qiáng)烈希望你在按照本教程操作前能夠通讀全文。確保已經(jīng)對所有的內(nèi)容了然于心——這能夠節(jié)省你的時(shí)間,并且可以規(guī)避一些可能遇到的麻煩。雖然這個(gè)過程幾乎是百分百正確的(至少我們這么期望的),但你可能并不知道是這樣的_。
備注:這個(gè)教程中,我們使用管理員權(quán)限的賬戶進(jìn)行了測試并通過了檢驗(yàn)。我的機(jī)器是x64的機(jī)器,Windows 7 旗艦版 Service Pack 1(SP1) (Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz 3.00GHz 16GB內(nèi)存)編譯器使用的是TDM64 GCC。
備注:隨著時(shí)間的推移,有一些鏈接可能已經(jīng)過期。因此在下面的教程中,我們不但列出文件資源的下載鏈接,還會(huì)給出文件資源的下載頁面,以供讀者自主選擇。
手把手教程
步驟 1:下載編譯器(TDM-GCC)
我們將使用TDM的開源編譯器GCC。
tdm-gcc下載首頁:
http://tdm-gcc.tdragon.net/download
tdm-gcc 下載包體:
https://sourceforge.net/projects/tdm-gcc/files/
參照頁面指示完成下載。下載的文件為:tdm64-gcc-5.1.0-2.exe
這是一個(gè)45.8M的文件,希望你的網(wǎng)速夠快_。
為了避免一些可能出現(xiàn)的問題,請確保下載的文件的路徑中不包含空格,同時(shí),拷貝或者移動(dòng)它的過程中也應(yīng)當(dāng)遵循此規(guī)則。我們后續(xù)下載的包也應(yīng)當(dāng)存放在相同的文件夾下。
出于教學(xué)的目的,我們將假設(shè)你創(chuàng)建下面的文件夾作為工作目錄:
C:\develop
拷貝(或者移動(dòng))剛剛下載的編譯器包到此文件夾,如果你還未下載的話,請將其放到此文件夾中。現(xiàn)在你的工作目錄看起來應(yīng)該是這樣的:
C:\develop\tdm64-gcc-5.1.0-2.exe
步驟 2:下載Lua程序源代碼包
Lua的源程序包的下載界面
http://www.lua.org/download.html
以及5.3.3版本的下載鏈接分別為
http://www.lua.org/ftp/lua-5.3.3.tar.gz
點(diǎn)擊下載,確保下載的目錄是 C:\develop
下載完成后,我們的工作目錄中應(yīng)該有2個(gè)文件:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
步驟 3:下載適用于Lua程序源代碼包的解壓縮器(7-zip)
Lua的源文件被打包成Linux平臺下習(xí)以為常Windows中罕見的格式:TAR-GZ。就像你看到的.tar.gz這種雙擴(kuò)展名的文件。Windows 系統(tǒng)本身無法解壓這種格式的文件,所以我們需要一個(gè)程序來完成解壓工作。Windows平臺下,可以處理TAR-GZ格式文件的一個(gè)非常好的免費(fèi)解壓縮應(yīng)用程序是7-zip。
7-zip 官網(wǎng) http://www.7-zip.org/
為了保持我們編譯過程盡量簡單,這里不會(huì)使用原始的7-zip的安裝包,原始的安裝包在安裝完畢后,會(huì)修改到系統(tǒng)。因此我們使用PortableApps.com提供的便攜版本。
點(diǎn)擊下載到我們的工作目錄,它現(xiàn)在看起來應(yīng)該是這樣的:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
C:\develop\7-ZipPortable_16.04.paf.exe
步驟 4:安裝編譯器
現(xiàn)在打開我們C:\develop
所在目錄,雙擊 tdm64-gcc-5.1.0-2.exe
進(jìn)行編譯器的安裝。將出現(xiàn)一個(gè)對話框。
- 不勾選 選項(xiàng)Check for updated files on the TDM-GCC server
- 點(diǎn)擊Create
- 選擇
C:\develop\tmd64-gcc
作為安裝目錄 - 點(diǎn)擊Next
- 在復(fù)選框選擇樹中,不勾選 選項(xiàng) Start Menu Items 和Add to PATH 兩項(xiàng)(這個(gè)步驟不是必須的,但是它使得編譯器與操作系統(tǒng)解耦了)
- 點(diǎn)擊Install并等待完成
- 完成后,點(diǎn)擊Next
- 點(diǎn)擊Finish(你可以瀏覽readme文件,但對于本教程,它不是必須的)
現(xiàn)在,我們的工作目錄看起來是這樣的:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
C:\develop\7-ZipPortable_16.04.paf.exe
C:\develop\tmd64-gcc
最后一項(xiàng)是編譯器的安裝目錄。
步驟 5:安裝解壓器
現(xiàn)在運(yùn)行便攜版7-zip,雙擊當(dāng)前目錄下的7-ZipPortable_16.04.paf.exe
,出現(xiàn)一個(gè)對話框。
選擇英文作為語言(這不是必須的,否則下列步驟說明中出現(xiàn)的消息將不一定匹配)。
- 點(diǎn)擊 OK
- 點(diǎn)擊Next
- 選擇
C:\develop\7-ZipPortable
作為目標(biāo)目錄 - 點(diǎn)擊Install,等待安裝完成
- 點(diǎn)擊Finish
現(xiàn)在,我們的工作目錄看起來是這樣的:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
C:\develop\7-ZipPortable_16.04.paf.exe
C:\develop\tmd64-gcc
C:\develop\7-ZipPortable
最后一項(xiàng)是7-zip的安裝目錄。
步驟 6:使用7-zip解壓Lua程序源代碼包
- 進(jìn)入7-ZipPortable文件夾下(即
C:\develop\7-ZipPortable
),雙擊運(yùn)行 7-ZipPortable.exe
- 將彈出框中的路徑更改為** C:\develop **, 回車
- 雙擊lua-5.3.3.tar.gz,進(jìn)入包內(nèi)部,我們將看到lua-5.3.3.tar
- 雙擊lua-5.3.3.tar,進(jìn)入內(nèi)部,我們將看到lua-5.3.3文件夾
- 在lua-5.3.3上右鍵,選擇Copy To...選項(xiàng),將彈出一個(gè)對話框
- 指定路徑為** C:\develop ,并點(diǎn)擊OK**
- 關(guān)閉當(dāng)前對話框,我們不再需要它了
現(xiàn)在,我們的工作目錄看起來是這樣的:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
C:\develop\7-ZipPortable_16.04.paf.exe
C:\develop\tmd64-gcc
C:\develop\7-ZipPortable
C:\develop\lua-5.3.3
最后一項(xiàng)是lua的資源解壓的文件夾。
步驟 7:創(chuàng)建一個(gè)Windows的shell腳本來執(zhí)行Build過程
你需要在我們的 *** C:\develop\ ***下創(chuàng)建一個(gè)名為 build.cmd
的文本文件
粘貼并拷貝以下內(nèi)容到其中:
@echo off
:: ========================
:: file build.cmd
:: ========================
setlocal
:: you may change the following variable's value
:: to suit the downloaded version
set lua_version=5.3.3
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%\tmd64-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
現(xiàn)在,我們的工作目錄看起來是這樣的:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
C:\develop\7-ZipPortable_16.04.paf.exe
C:\develop\tmd64-gcc
C:\develop\7-ZipPortable
C:\develop\lua-5.3.3
C:\develop\build.cmd
現(xiàn)在雙擊執(zhí)行shell腳本build.cmd,一個(gè)黑色背景的窗口會(huì)出現(xiàn)。你會(huì)看到腳本運(yùn)行過程中輸出的信息。
這個(gè)過程會(huì)耗費(fèi)你一些時(shí)間,取決于你電腦的配置。當(dāng)腳本運(yùn)行結(jié)束的時(shí)候,它會(huì)在我們的工作目錄下創(chuàng)建一個(gè)“干凈”的二進(jìn)制可分發(fā)的版本,結(jié)束前會(huì)打印兩條問候的信息用以測試我們生成的內(nèi)容。那么現(xiàn)在你可以關(guān)閉這個(gè)黑色的窗口了。
現(xiàn)在,我們的工作目錄變成:
C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz
C:\develop\7-ZipPortable_16.04.paf.exe
C:\develop\tmd64-gcc
C:\develop\7-ZipPortable
C:\develop\lua-5.3.3
C:\develop\build.cmd
C:\develop\lua
步驟 8:拷貝Lua的安裝文件到合適的位置
現(xiàn)在 C:\develop\lua 中包含了運(yùn)行一個(gè)lua腳本所需要的所有東西。只要你愿意,你可以很方便的將這個(gè)目錄拷貝到任何地方(甚至是你的USB中)。其內(nèi)部的文件目錄應(yīng)該是這樣的:
lua-----+--bin
|
+--doc
|
+--include
在bin文件夾中,你可以看到 lua.exe
,它是lua解釋器。在doc文件夾中,你可以看到lua的相關(guān)手冊。
步驟 9:配置系統(tǒng)環(huán)境變量以運(yùn)行Lua文件
如果你想在命令行窗口中通過輸入
lua myscript.lua
來運(yùn)行一個(gè)腳本,那么你需要在Windows的系統(tǒng)環(huán)境變量path中加入C:\develop\lua\bin。
結(jié)束
當(dāng)你將lua文件夾拷貝到你想要的某個(gè)文件夾下后,你可以將C:\develop中的內(nèi)容全部刪除(記得清理一下環(huán)境變量path)。
然而,刪除之前你還可以打撈一些有用的東西:
- 可以將 lua-5.3.3.tar.gz,tdm64-gcc-5.1.0-2.exe,7-ZipPortable_16.04.paf.exe 保存起來,以備不時(shí)之需
-
tmd64-gcc
可以拷貝或者移動(dòng)到任何你希望的地方,在*** tmd64-gcc\bin *** 中的工具可以在命令行窗口中被直接使用(如果你將它的路徑添加到系統(tǒng)搜索路徑的話) - 7-ZipPortable 同樣是可以任意移動(dòng)的,因此可以將其放入你的移動(dòng)硬盤中
- 如果你好奇Lua源代碼中的內(nèi)容,你可以一探究竟,當(dāng)然為了更好的理解它們,你要成為一名C程序員。
這是一篇新手教程,所謂新手教程,我的看法是:文章應(yīng)當(dāng)具有嚴(yán)謹(jǐn)?shù)臄⑹鼋Y(jié)構(gòu),由淺入深,除了告訴你如何做(How),還希望告訴你為什么(Why),感謝你我都曾付出的寶貴時(shí)間!
歡迎前往個(gè)人博客 駑馬點(diǎn)滴 和視頻空間 嗶哩嗶哩-《挨踢日志》