在編譯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作為自己的嵌入式腳本語言,以此來實現可配置性、可擴展性。這其中包括魔獸世界、博德之門、憤怒的小鳥等。