2

xcode で cocos2d-x を使用してゲームを書いていますが、armv7/7s 用の正しいバージョンの Lua をコンパイルするのに問題があります。

これが私が得ているエラーメッセージです:

ld: warning: ignoring file 
/Users/seriousgames/Documents/PopulationTest/PopulationTest/libs/lua/liblua.a, file was built for archive which is not the architecture being linked (armv7): /Users/seriousgames/Documents/PopulationTest/PopulationTest/libs/lua/liblua.a
Undefined symbols for architecture armv7:
  "_luaL_newstate", referenced from:
      Behavior::onTerminate(Status) in Behavior.o
  "_luaL_openlibs", referenced from:
      Behavior::onTerminate(Status) in Behavior.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Macosx (iOS ではない) 用にコンパイルすることを選択した場合、LUA は機能します。

編集: Lua の古いビルド、バージョン 5.1.4 を使用することになり、次の手順に従いました: http://blog.stokedsoftware.com/blog/2012/02/05/scripting-ios-games-with-lua -part-ii/ このメソッドは lualib.a 外部ライブラリを必要とせず、代わりに xcode が lua ソースをプロジェクトにビルドします。

注: 彼のコードは Objective C ですが、彼の方法は cocos2d-x でも機能することがわかりました。

彼は具体的に lua.c および luac.c ファイルをビルドから除外しています。そうしないことを選択しましたが、int main() 関数は main.m の関数と競合するため、コメントアウトしました。この質問には少し回答済みのマークを付けますが、arm7/7s 用の liblua.a を構築する方法を知りたいと思っています。

4

1 に答える 1