#Cocos2dx手游開發(fā)#2 windows下搭建lua環(huán)境

歡迎前往個(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提供的便攜版本

官網(wǎng) http://portableapps.com/

便攜版本 http://portableapps.com/apps/utilities/7-zip_portable

點(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è)對話框。

  1. 不勾選 選項(xiàng)Check for updated files on the TDM-GCC server
  1. 點(diǎn)擊Create
  2. 選擇 C:\develop\tmd64-gcc 作為安裝目錄
  3. 點(diǎn)擊Next
  4. 在復(fù)選框選擇樹中,不勾選 選項(xiàng) Start Menu ItemsAdd to PATH 兩項(xiàng)(這個(gè)步驟不是必須的,但是它使得編譯器與操作系統(tǒng)解耦了)
  5. 點(diǎn)擊Install并等待完成
  6. 完成后,點(diǎn)擊Next
  7. 點(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)的消息將不一定匹配)。

  1. 點(diǎn)擊 OK
  1. 點(diǎn)擊Next
  2. 選擇C:\develop\7-ZipPortable 作為目標(biāo)目錄
  3. 點(diǎn)擊Install,等待安裝完成
  4. 點(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程序源代碼包

  1. 進(jìn)入7-ZipPortable文件夾下(即C:\develop\7-ZipPortable),雙擊運(yùn)行 7-ZipPortable.exe
  1. 將彈出框中的路徑更改為** C:\develop **, 回車
  2. 雙擊lua-5.3.3.tar.gz,進(jìn)入包內(nèi)部,我們將看到lua-5.3.3.tar
  3. 雙擊lua-5.3.3.tar,進(jìn)入內(nèi)部,我們將看到lua-5.3.3文件夾
  4. lua-5.3.3上右鍵,選擇Copy To...選項(xiàng),將彈出一個(gè)對話框
  5. 指定路徑為** C:\develop ,并點(diǎn)擊OK**
  6. 關(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)滴 和視頻空間 嗶哩嗶哩-《挨踢日志》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,278評論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,241評論 2 375

推薦閱讀更多精彩內(nèi)容