読者です 読者をやめる 読者になる 読者になる

プログラミングの魔物

エラー、バグ、仕様変更と戦うブログ

xcode覚書。cocos2d-xにLuaを手動で導入

typeid(???).name()が実行時エラーになるので原因を調べてみたら
xcodeのBuild SettingsでApple LLVM compiler 4.1 - LanguageセクションのEnable C++ Runtime TypesがNoになっていた。実行時型情報。
このセクションでは他にもC++Language DialectでC++11を設定している。
あとboost使うためにSearch PathsセクションでHeader Search Pathsに/opt/local/includeしてる。

Luaをcocos2d-xに組み込んでみた。

最初から組み込まれてる状態のプロジェクトも作れるんだけど一応。

とりあえず下記のURLを参考に。
http://blog.stokedsoftware.com/blog/2012/02/05/scripting-ios-games-with-lua-part-ii
luaを公式から落としてきてsrcからlua.c、とluac.cファイルを削除してプロジェクトに追加するだけ。
パスがそのままだと通らないからCCFileUtils::sharedFileUtils()->fullPathFromRelativePath("sample.lua")とかやる。

//#include "lua.hpp"
lua_State *luaState = luaL_newstate();
luaL_openlibs(luaState);
if (luaL_dofile(luaState, CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("sample.lua"))){
CCLOG("%s", lua_tostring(luaState, -1));
}
lua_close(luaState);

結局ピンボール作らずにLuaいじってばかりだった。
そんな日もある。