如何在Mac OS X 中运行Lua ?Running Lua on Mac OS X

参考文章:

1) http://www.oschina.net/question/12_76955

2) http://rudamoura.com/luaonmacosx.html

最近在为iOS开发游戏,我的开发机是iPhone5。在开发的游戏项目中需要使用Lua语言,所以想在我的苹果MacBook Pro 中安装Lua语言的解释器,以便进行脚本调试。

我的Mac OS X的版本是10.8.3。Lua 是一个轻量级的脚本语言,在游戏开发上使用非常多。它是开源的。我们可以下载它的源码进行编译。

到本文编写时间为止(2013年5月9),Lua的最新版是 Lua 5.2.2

Lua源码的下载网址:

http://www.lua.org/download.html

一、Mac OS X中make和gcc命令的安装

在编译Lua前需要做的准备工作。

我将lua-5.2.2.tar.gz下载到苹果电脑中,解压后进行编译时,发现我的Mac OS X 没有mak命令,也没有gcc命令。

检测苹果电脑的Mac OS X中是否有make命令的方法,可在控制台键入命令:which make

如果有该命令,则会返回提示:/usr/bin/make

所以我需要在Mac OS X中安装mak命令和gcc使命令。安装工具包需要从苹果的开发网站下载。

下载方法:

打开Xcode,菜单Xcode --> Open Developer Tool -->More Developer Tools

这时Safari浏览器被运行,并弹出注册对话框,要求输入Apple ID和密码,填写完注册信息然后进入Apple Developer的下载站点,搜索“Unix”,结果会列出命令工具包的下载列表:

Command Line Tools (OS X Mountain Lion)for Xcode - April 2013 (这个版本需要Xcode 4.6.2 和Mac OS X 10.8以上版本)

Command Line Tools (OS X Lion)for Xcode - April 2013 (这个版本需要Xcode 4.6.2 和 Mac OS X 10.7.4以上版本)

.....

下面还有其它版本,跟据你使用的Mac OS X的版来下载。另外说一下:

Mac OS X 10.4.x,代号为:Lion

Mac OS X 10.8.x,代号为:Mountain Lion

我的Mac OS X是Mountain Lion,所以下载的是Command Line Tools (OS X Mountain Lion)for Xcode - April 2013 版本,文件名为:

xcode462_cltools_10_86938259a.dmg

下载完后双击该文件。过一会儿后,会弹出安装包的窗口,对双击安装包。按提示完成安装。这时make和gcc便有了。

可使用which命令进行检查。

二、编译Lua软件

编译和安装方法的详细说明在readme文件中:lua-5.2.2/doc/readme.html

在编译前最好进行编译测试,在lua-5.2.2目录下,使用命令如下:make test

我的编译和安装方法是:

sudo make macosx install (sudo在Mac OS X中表示使用超级用户权限)

注意:

Lua的编译和安装说明文档(readme.html)中指出,编译Lua时,需要选择要运行的操作系统,编译并安装的格式如下:

make xxx install (如果不是超级用户登录,则需要前面加sudo命令)

其中xxx表示目标操作系统的标记,目标操作系统的标记列表如下:

aix ansi bsd freebsd generic linux macosx mingw posix solaris

Lua 将默认安装到 /usr/local/,安装完成后,在该目录下会生成一些重要文件。

/usr/local/ bin: (可运行程序)
lua luac (lua是Lua语言的解释器,luacLua语言的编译器)
/usr/local/ include: (头文件)
lua.h luaconf.h lualib.h lauxlib.h lua.hpp
/usr/local/lib: (库文件)
liblua.a
/usr/local/ man/man1: (命令手册)
lua.1 luac.1

Lua 解释器完整的路径是 /usr/local/bin/lua,在终端中运行 lua 即可调用解释器。

三、Lua语言解释器的测试

在控制台上输入lua命令:

lua
Lua 5.2.1  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print ("Hello World!")         (进入交互命令状态,在提示符“>”下输入测试代码)
Hello World!                     (返回的结果)

键入 Control+D 退出交互命令

如果想运行一个lua脚本文件,可以使用下面命:lua 文件名

如:lua hello.lua

hello.lua文件的代码:

io.write("Hello world, from ",_VERSION,""!\n)

结果:Hello world, from Lua 5.2!

注释:

Lua 是一个小巧的脚本语言。 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

很多应用程序使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽世界、博德之门、愤怒的小鸟等。