15

iPhoneでLuaを使おうとしています。Mac OS Xでは、通常の(iOS以外の)Cocoaアプリケーションで、次のコードを使用しました。

lua_State* l;
l = lua_open();
luaL_openlibs(l);
luaL_loadstring(l, "print(\"Hi from Lua\");");
lua_pcall(l, 0, 0, 0);

lua.org/ftpからLua5.1.4をダウンロードし、Mac OS X用にコンパイルしました。Xcodeプロジェクトでは、「既存のフレームワークの追加」liblua.aを使用して追加し、「既存のファイルの追加」を使用してインクルードディレクトリを追加しました。

これは期待どおりに機能し、「HifromLua」という文字列を出力します。iOSプロジェクトで同じことを試してみると、次のエラーが発生します。

"_luaL_newstate", referenced from:
_main in main.o
more of the same thing...
symbol(s) not found
collect2: ld returned 1 exit status

.aファイルがiPhoneアプリにリンクされていないようです。誰かがこれを機能させる方法を知っていますか?

(ちなみに、Luaが含まれている場合、Appleが私のアプリを受け入れない可能性があることを私は本当に気にしません。)

4

3 に答える 3

19

Intel 用ではなく、ARM 用の Lua .a をコンパイルする必要があります。Lua ライブラリが autoconf を使用している場合は、私のお気に入りの iphone/autoconf ビルダーを使用できます: build_for_iphoneos. autoconf でない場合は、そのスクリプトを使用して攻撃方法を知ることができます。場合によっては、静的ライブラリ Xcode プロジェクトをビルドし、すべてのファイルをそこにダンプして、ビルドをクリックするだけです。ビルドが十分に単純であれば、ほとんどの作業は自動的に行われます。

あなたの使用には関係ないことはわかっていますが、Lua ベースのツールは通常、アプリ ストアで出荷できます。実行時に任意のコードをダウンロードして解釈することはできません。

于 2009-06-01T22:43:03.980 に答える
14

iPhone Waxをチェックしてみてください。これは、純粋な lua でネイティブの iPhone アプリを作成できる lua/iPhone ブリッジです。これについてのかなり良いチュートリアルがあります。

于 2009-10-05T17:22:58.777 に答える
4

iOS用のLuaコードを記述したい場合は、すぐにMOAIをチェックしてください:http://getmoai.com/

iOSとAndroid、およびWindowsとOSXでゲームを開発するための絶対に楽しいフレームワークです。それだけでなく、クロスプラットフォーム方式でスクリプトを作成するためのLua-VMベースのホスティング環境を適切に実装する方法についてのかなり良いアイデアを提供します。MOAIから、これについて多くを学ぶことができます。私はこれまでにMOAIで4つのタイトルを作成しましたが、すぐに停止することはありません.. MOAIは絶対にお尻を蹴ります!

LOAD81もチェックしてください。これは、ターゲット環境としてSDLを使用しているにもかかわらず、同様の取り組みです:http: //github.com/antirez/load81

(私はLOAD81プロジェクトに少し貢献しました。特に、OpenPandoraコミュニティに関心/価値のある機能を提供しました。MOAIはより商業的で、LOAD81はより趣味です。)

Luaと、複数のプラットフォームターゲットのプロジェクトにLua VMを統合するさまざまな方法を学ぼうとしている人にとって、MOAIとLOAD81はどちらも、正しい進め方について多くの優れた背景と手がかりを提供できます。

于 2012-03-30T09:58:06.327 に答える