2010-12-16 15 views
3

単純なluaスクリプトからスタンドアロンの実行ファイルを作成する方法はありますか?簡単に私が意味することは:私はちょうどlua 5.1が提供するものを使用しています。スタンドアロンの実行可能ファイルへのluaスクリプトのコンパイル

もしそうなら、ある種の「クロスコンパイラ」がありますか?私は私のmac osxシステム上のLinuxシステムのための実行可能ファイルを作成したいと思います。

ありがとうございます!

答えて

7

chmod +xでLuaスクリプトを実行可能にし、#!/usr/bin/env luaを追加することができます。しかし、あなたはLuaインタプリタをインストールする必要があります。別のアプローチについては、srluaをご覧ください。

+0

はい、私は#!方法を知っています...しかし、私はシステム上でスクリプトを実行する方法を期待していました。ルアはありませんインストールされます。 srluaものは非常に興味深いように見えます! – aurora

+0

私はsrluaが私のニーズに最も適していると思います。どうもありがとう! – aurora

+0

本当にありがとうございます。 – Hedin

1

私はこのために準備が整っていないことを知りません。

かなり単純なアプローチは、バイナリにカスタムスクリプトを含めるようにluaに付属しているluaインタプリタを変更することです(おそらくそれの対話型オプションを無効にする)。

この方法で、この実行可能ファイルでスクリプトを開始できます。

あなたのアプリケーションに含めることができるc-fileにluaスクリプトを変換するためのlua2bin(私はその名前を正しく覚えていれば)があります。

+0

ああ、私はあまりにも長い時間を費やして過ごしました、そして、ルイスは私を関連する答えに打ちました:) – Kaos

+0

ヒントのためにありがとう私は見てみましょう! – aurora

4

murgaLuaは、単一の実行可能コンパイラをパックしています。また、squishは、luaスクリプト、さらには1つのシンプルなファイル内の他のファイルとディレクトリツリーを圧縮することもできます。

+0

スカッシュはかなり面白そうです。多分私はいくつかのコンパイラツールと一緒にそれを使用することができます。ありがとう! – aurora

+0

私が思うにもかかわらず、srluaは私が必要とするケースに最適な私のニーズに合っています。 murgaLuaも非常に興味深いプロジェクトであるようです。 – aurora

0

あなたのluaスクリプトのCソースコードを与えるLuaのbin2cを試してみてください。あなたが外部のluaライブラリを使用しているなら、それはもう少し難しいかもしれませんが、スキッシュはそれを助けることができます。それとも、ただ

+1

bin2cは最近のリリースでは提供されていません。しかし、http://lua-users.org/wiki/BinToCee – BMitch

0

LuaJIT 2.0.4は(私は、debianベースのLinux(Crunchbang)

http://luajit.org

$ luajit -v 
LuaJIT 2.0.4 -- Copyright (C) 2005-2015 Mike Pall. http://luajit.org/ 
$ luajit -e 'print(_VERSION)' 
Lua 5.1 

でそれを使用している2015年5月14日
をリリースしてきたすべてのものをluaL_loadstringすることができます(スクリプトの一番上に貼ってください)
#!/ usr/bin/env luajit

関連する問題