最近、cocos2d-xで開発されている方が減ってきてますが、
私はやっとC++が理解できるようになってきましたので
まだまだ使っていきたいと思います。
先日リリースした三毛猫ルームズは、私史上初のAndroid版のアプリとなりました。
しかしながらiPhone版のリリースから2週間近くかかってしまいました。
今回は、私がハマってしまったところを備忘録として書いておきます。
undefined reference to init
テスト用のなんにも実装していないコードではAndroidのシミュレータで起動するのに
なぜか私が作成した「三毛猫ルームズ」は起動しないどころかよくわからないエラーが発生。
「undefined reference to init…」
ネットで検索すると答えを書いてくれているサイトが見つかりました。
【Cocos2dx】undefined reference to init ではまる件
ここがハマるポイントです。
上記サイト様は、多分Eclipsを使用して開発を行っていると思われます。
しかしながら私はAndroid Studioを使用してました。
ちなみにcocos2d-xがAndroid Studioに対応したのは
去年の今頃だったような気がします。
*更新日付は2014年ですね
と、いま考えれば気づけるポイントはいろいろあるのですが
先月の私にはその余裕がなく。。。結果以下のようにハマっていきます
proj.android-studioフォルダの配下にjni/Android.mkを見つけられず。
(appの配下にあるのですけどね)
proj.android-studioフォルダの配下に設定を実施するも反映されず。
(Android Studioですもんね)
なんとかproj.android-studioフォルダの配下のapp/jni/Android.mkをみつけて
上記サイト様の設定をそのまま反映するも、、、動かず
(階層が一つ深くなってるからね)
正しくは、
proj.android-studio/app/jni/Android.mk
に
1 2 3 |
LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../../Classes/AppDelegate.cpp \ ../../../Classes/ここに追加 \ |
となるように記載するのが正解でした。
余談ですが
あまりにも動作しなさすぎて
Eclipsでも試したりしてたので、余計に混乱しました。。。
まさにハマってました。