#Cocos2dx手游开发#2 windows下搭建lua环境

欢迎前往个人博客 驽马点滴 和视频空间 哔哩哔哩-《挨踢日志》

下载

这个过程最终将生成windows下运行lua的包,可以从下面的百度盘中获得:

链接: http://pan.baidu.com/s/1ckUlIY 密码: 9n22


特别声明

此篇根据英文版本翻译,属译文,并根据自己的操作过程,更改了部分内容。
原文连接:http://lua-users.org/wiki/BuildingLuaInWindowsForNewbies


序言

这是一篇手把手教你的教程,它讲解了在微软的Windows操作系统中建立Lua运行环境的步骤。此过程中我们下载和编译源文件时,只会使用到免费的工具或者Windows系统自带的工具。对使用者的编程经验要求极低。即使对Windows平台知之甚少的Linux用户,这篇教程也是不无裨益的。

如果你是一名经验丰富的编程人员, 觉得这篇教程简单或者对自己帮助有限, 可以尝试从BuildingLua获得更多的内容。


概述及要求

希望读者:

  • 对Window的文件系统有一个总体的认知,并知道一些由操作系统层提供的命令来执行一些基本的操作(如:浏览文件系统、拷贝或者移动文件、重命名文件、新建一个文件夹等等)
  • 知道如何使用浏览器从网络上下载文件
  • 知道如何安装一个程序
  • 知道什么是文本文件以及如何使用文本编辑器创建它(对于本教程而言,Windows Notepad 已经足够,然而对于新手来说,免费的SciTE 或者TextAdept会是更好的选择)
  • 知道什么是压缩文件以及如何解压它
  • 知道什么是Windows命令shell以及如何唤出它
  • 知道什么是Windows可执行文件的搜索路径以及如何为它添加搜索路径(有时我们指的是系统路径 或者简单的PATH这个环境变量)

以上的某些要求并非读者必须严格掌握的。在后续的过程中会对部分内容的解释,但读者不应期待过多。

本教程将按照以下的步骤进行组织:

  • 下载合适的C-编译器(TDM GCC);
  • 下载Lua程序源代码包;
  • 下载适用于Lua程序源代码包的解压缩器(7-zip);
  • 安装编译器;
  • 安装解压缩器;
  • 解压缩文件到合适的目录;
  • 配置编译器,使得它能够找到资源文件,并执行Build过程(我们将使用Windows的shell脚本来执行);

重要提示:我们强烈希望你在按照本教程操作前能够通读全文。确保已经对所有的内容了然于心——这能够节省你的时间,并且可以规避一些可能遇到的麻烦。虽然这个过程几乎是百分百正确的(至少我们这么期望的),但你可能并不知道是这样的_

备注:这个教程中,我们使用管理员权限的账户进行了测试并通过了检验。我的机器是x64的机器,Windows 7 旗舰版 Service Pack 1(SP1) (Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz 3.00GHz 16GB内存)编译器使用的是TDM64 GCC。

备注:随着时间的推移,有一些链接可能已经过期。因此在下面的教程中,我们不但列出文件资源的下载链接,还会给出文件资源的下载页面,以供读者自主选择。


手把手教程

步骤 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 这是一个45.8M的文件,希望你的网速够快_
为了避免一些可能出现的问题,请确保下载的文件的路径中不包含空格,同时,拷贝或者移动它的过程中也应当遵循此规则。我们后续下载的包也应当存放在相同的文件夹下。

出于教学的目的,我们将假设你创建下面的文件夹作为工作目录

C:\develop

拷贝(或者移动)刚刚下载的编译器包到此文件夹,如果你还未下载的话,请将其放到此文件夹中。现在你的工作目录看起来应该是这样的:

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

点击下载,确保下载的目录是 C:\develop
下载完成后,我们的工作目录中应该有2个文件:

C:\develop\tdm64-gcc-5.1.0-2.exe
C:\develop\lua-5.3.3.tar.gz

步骤 3:下载适用于Lua程序源代码包的解压缩器(7-zip)

Lua的源文件被打包成Linux平台下习以为常Windows中罕见的格式:TAR-GZ。就像你看到的.tar.gz这种双扩展名的文件。Windows 系统本身无法解压这种格式的文件,所以我们需要一个程序来完成解压工作。Windows平台下,可以处理TAR-GZ格式文件的一个非常好的免费解压缩应用程序是7-zip。

7-zip 官网 http://www.7-zip.org/

为了保持我们编译过程尽量简单,这里不会使用原始的7-zip的安装包,原始的安装包在安装完毕后,会修改到系统。因此我们使用PortableApps.com提供的便携版本

官网 http://portableapps.com/

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

点击下载到我们的工作目录,它现在看起来应该是这样的:

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:安装编译器

现在打开我们C:\develop所在目录,双击 tdm64-gcc-5.1.0-2.exe 进行编译器的安装。将出现一个对话框。

  1. 不勾选 选项Check for updated files on the TDM-GCC server
  1. 点击Create
  2. 选择 C:\develop\tmd64-gcc 作为安装目录
  3. 点击Next
  4. 在复选框选择树中,不勾选 选项 Start Menu ItemsAdd to PATH 两项(这个步骤不是必须的,但是它使得编译器与操作系统解耦了)
  5. 点击Install并等待完成
  6. 完成后,点击Next
  7. 点击Finish(你可以浏览readme文件,但对于本教程,它不是必须的)

现在,我们的工作目录看起来是这样的:

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

最后一项是编译器的安装目录。

步骤 5:安装解压器

现在运行便携版7-zip,双击当前目录下的7-ZipPortable_16.04.paf.exe,出现一个对话框。
选择英文作为语言(这不是必须的,否则下列步骤说明中出现的消息将不一定匹配)。

  1. 点击 OK
  1. 点击Next
  2. 选择C:\develop\7-ZipPortable 作为目标目录
  3. 点击Install,等待安装完成
  4. 点击Finish

现在,我们的工作目录看起来是这样的:

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

最后一项是7-zip的安装目录。

步骤 6:使用7-zip解压Lua程序源代码包

  1. 进入7-ZipPortable文件夹下(即C:\develop\7-ZipPortable),双击运行 7-ZipPortable.exe
  1. 将弹出框中的路径更改为** C:\develop **, 回车
  2. 双击lua-5.3.3.tar.gz,进入包内部,我们将看到lua-5.3.3.tar
  3. 双击lua-5.3.3.tar,进入内部,我们将看到lua-5.3.3文件夹
  4. lua-5.3.3上右键,选择Copy To...选项,将弹出一个对话框
  5. 指定路径为** C:\develop ,并点击OK**
  6. 关闭当前对话框,我们不再需要它了

现在,我们的工作目录看起来是这样的:

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

最后一项是lua的资源解压的文件夹。

步骤 7:创建一个Windows的shell脚本来执行Build过程

你需要在我们的 *** C:\develop\ ***下创建一个名为 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.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

现在,我们的工作目录看起来是这样的:

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

现在双击执行shell脚本build.cmd,一个黑色背景的窗口会出现。你会看到脚本运行过程中输出的信息。

这个过程会耗费你一些时间,取决于你电脑的配置。当脚本运行结束的时候,它会在我们的工作目录下创建一个“干净”的二进制可分发的版本,结束前会打印两条问候的信息用以测试我们生成的内容。那么现在你可以关闭这个黑色的窗口了。

现在,我们的工作目录变成:

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的安装文件到合适的位置

现在 C:\develop\lua 中包含了运行一个lua脚本所需要的所有东西。只要你愿意,你可以很方便的将这个目录拷贝到任何地方(甚至是你的USB中)。其内部的文件目录应该是这样的:

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

bin文件夹中,你可以看到 lua.exe,它是lua解释器。在doc文件夹中,你可以看到lua的相关手册。

步骤 9:配置系统环境变量以运行Lua文件

如果你想在命令行窗口中通过输入

lua myscript.lua

来运行一个脚本,那么你需要在Windows的系统环境变量path中加入C:\develop\lua\bin


结束

当你将lua文件夹拷贝到你想要的某个文件夹下后,你可以将C:\develop中的内容全部删除(记得清理一下环境变量path)。

然而,删除之前你还可以打捞一些有用的东西:

  • 可以将 lua-5.3.3.tar.gz,tdm64-gcc-5.1.0-2.exe,7-ZipPortable_16.04.paf.exe 保存起来,以备不时之需
  • tmd64-gcc 可以拷贝或者移动到任何你希望的地方,在*** tmd64-gcc\bin *** 中的工具可以在命令行窗口中被直接使用(如果你将它的路径添加到系统搜索路径的话)
  • 7-ZipPortable 同样是可以任意移动的,因此可以将其放入你的移动硬盘中
  • 如果你好奇Lua源代码中的内容,你可以一探究竟,当然为了更好的理解它们,你要成为一名C程序员。

这是一篇新手教程,所谓新手教程,我的看法是:文章应当具有严谨的叙述结构,由浅入深,除了告诉你如何做How),还希望告诉你为什么Why),感谢你我都曾付出的宝贵时间!

欢迎前往个人博客 驽马点滴 和视频空间 哔哩哔哩-《挨踢日志》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容