2009-08-06 5 views
10

Was kann ich verwenden, um Lua-Skript unter Mac OS X zu programmieren? Ich bin auf der Suche nach etwas, das ich verwenden kann, um Lua Script auf OS X.Programmierung in Lua auf OS X?

Antwort

12

Die Quelle leicht kompiliert auf dem Mac ohne Änderungen Lua zu kompilieren/interpretieren. Es wird lua (der Interpreter, der auf ein Quellskript, ein vorkompiliertes Skript oder interaktiv wirken kann) und luac, das zum Vorkompilieren von Quellskripten verwendet werden kann, erstellt.

Von der lua.org Webseite: http://luabinaries.luaforge.net/download.html. Die gewünschten sind die Darwin-Binärdateien (sie sagen Mac OS X in der Beschreibung).

+0

Ich denke nicht, ich war klar, ich bin der Suche nach etwas, das ich zu kompilieren verwenden können, um/Lua Script auf dem Mac zu interpretieren. Ich werde meine Frage bearbeiten. – RCIX

+3

Ja, Sie waren klar, genau: die Standard-Lua-Quelle tut dies. Einfach herunterladen und bauen oder (ich bin sicher) du kannst lua und luac irgendwo vorgebaut finden. –

+0

Hm id lieber nicht bauen etwas, wie ich den ersten Hinweis, wo ich anfangen havent, denke ich krank Peitsche google ... – RCIX

7

Mein Lieblings-Weg (aus der Schale):

sudo port install lua 

I Macports LIEBE!

+0

Dafür müssen Sie natürlich MacPorts installieren. Zum Glück, das ist einfach: http://www.macports.org/install.php – adrian

+0

Ich werde es versuchen und hoffe, es funktioniert ... – RCIX

+0

wenn ich es ausführen, tut es nichts, und ich habe xcode + macports installiert. – RCIX

5

Hier ist meine Terminalsitzung aus Kompilieren und Lua von der Quelle der Installation grundsätzlich these directions folgen. Ich hatte bereits Apples Developer Tools installiert, und/usr/local/bin war bereits in meinem PATH, sodass ich einige der zeitaufwendigeren und/oder mühsameren Schritte in den Anweisungen überspringen konnte.

$ cd ~/Downloads 

$ tar -xf lua-5.1.4.tar 

$ cd lua-5.1.4 

$ make macosx  
cd src && make macosx 
make all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline" 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lapi.o lapi.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lcode.o lcode.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldebug.o ldebug.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldo.o ldo.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldump.o ldump.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lfunc.o lfunc.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lgc.o lgc.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o llex.o llex.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lmem.o lmem.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lobject.o lobject.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lopcodes.o lopcodes.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lparser.o lparser.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lstate.o lstate.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lstring.o lstring.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ltable.o ltable.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ltm.o ltm.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lundump.o lundump.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lvm.o lvm.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lzio.o lzio.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lauxlib.o lauxlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lbaselib.o lbaselib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ldblib.o ldblib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o liolib.o liolib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lmathlib.o lmathlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o loslib.o loslib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o ltablib.o ltablib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lstrlib.o lstrlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o loadlib.o loadlib.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o linit.o linit.c 
ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o 
ranlib liblua.a 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lua.o lua.c 
gcc -o lua lua.o liblua.a -lm -lreadline 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o luac.o luac.c 
gcc -O2 -Wall -DLUA_USE_LINUX -c -o print.o print.c 
gcc -o luac luac.o print.o liblua.a -lm -lreadline 

$ make test 
src/lua test/hello.lua 
Hello world, from Lua 5.1! 

$ sudo make install INSTALL_TOP=/usr/local 
Password: 
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.1 /usr/local/lib/lua/5.1 
cd src && install -p -m 0755 lua luac /usr/local/bin 
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp /usr/local/include 
cd src && install -p -m 0644 liblua.a /usr/local/lib 
cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1 

$ lua 
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> print "Hi" 
Hi 
> = 2 + 3 
5 
> ^c 

$ cd test 

$ lua factorial.lua 
0! = 1 
1! = 1 
2! = 2 
3! = 6 
4! = 24 
5! = 120 
6! = 720 
7! = 5040 
8! = 40320 
9! = 362880 
10! = 3628800 
11! = 39916800 
12! = 479001600 
13! = 6227020800 
14! = 87178291200 
15! = 1307674368000 
16! = 20922789888000 
+0

Vielen Dank! diese INSTALL_TOP-Zeile hat es für mich getan. Warum ist das hier nötig? – Pueggel

1

Ich habe gerade vor kurzem Rudix -a für Mac Sammlung von vorkompilierte Unix-Software beibehalten.

Während ich bin sicher, dass Sie bereits eine Art und Weise der Installation von Lua herausgefunden, stieß ich auf Ihre Frage durch die gleiche Sache googeln. Für jeden, der interessiert ist, here's the link to a recent Lua 5.1.4 dmg.

+0

In Bezug auf Rudix können Sie erhalten mehr Informationen über Lauf Lua auf Mac OS X hier: http://rudamoura.com/luaonmacosx.html – mohsinj

17

Meine bevorzugte Art und Weise:

brew install lua 

Danke, Max!

Und wenn Sie wissen müssen, wie Homebrew installieren finden http://mxcl.github.com/homebrew/ und:

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" 
2

Wenn Sie wollen nicht Ihre eigene Lua-Binärdateien kompilieren, können Sie versuchen, ZeroBrane Studio Lua IDE, die als ein verpackt kommt. DMG-Datei für OSX. Es ist eine IDE, mit der Sie Ihre Lua-Skripte bearbeiten und debuggen können. Wenn Sie gerade mit Lua beginnen, enthält es auch mehr als 50 Beispiele und Demo-Skripte sowie integrierte Anweisungen zum Ausführen, sodass Sie keinen leeren Bildschirm sehen werden, ohne zu wissen, wo Sie anfangen sollen.