Xcodeで作成をしていたアプリを、初めてEclipseで実行した時に色々とエラーが出ました。
今回は、この解決方法を紹介したいと思います。
もし、同じよなエラーで困っている方がいましたら、是非参考にしてみて下さい。
[cocos2dx_static/platform/android/CCCommon.o] が出る
最初にビルドすると、[cocos2dx_static/platform/android/CCCommon.o]感じのCCCommon.oに関するエラーが3つ出ました。これの解決策は下記サイトを参考にして解決しました。
Eclipseのプロジェクトから、[jni]->[Application.mk]を修正します。
コードは以下のように変更します。
1 2 3 4 5 |
APP_STL := gnustl_static APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1 //これを付け足します。 APP_CFLAGS += -Wno-error=format-security |
Android.mk
プロジェクトに新たに追加したクラスがあれば、それを「Android.mk」というところに登録をしないとEclipseが認識をしてくれません。cocos2dxのHelloWorldのCCSceneだけ、実機で実行ができて、それ以外のクラスではエラーが出ました。
これはいちいち登録するのがメンドクサイので、下記サイトを参考に「Andoroid.mk」を修正しました。
Cocos2d-xで新しく作ったクラスを毎回Android.mkに追加せずに済ます – しすぜろ
Eclipseのプロジェクトから、[jni]->[Android.mk]を修正します。
コードは以下のように変更しました。
1 2 3 4 5 6 7 8 9 10 11 12 |
//以前のモノ #LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorld.cpp //これをこのように書き換えます CPP_FILES := $(shell find $(LOCAL_PATH)/../../Classes -name *.cpp) LOCAL_SRC_FILES := hellocpp/main.cpp LOCAL_SRC_FILES += $(CPP_FILES:$(LOCAL_PATH)/%=%) |
auto型
cocos2dxでは、auto型がEclipseでは認識できないのでエラーになります。これに関しては、正式なクラスに置き換えたらエラーは消えました。
ヘッダーファイルに未設定のメソッドがある場合
ヘッダーファイルに未設定のメソッドを定義して、cppファイルで中身を設定していない場合、エラーになります。これは、ヘッダーファイルのメソッドを削除すればエラーが消えました。
最後に
上記のエラーを解決したら、無事これまでXcodeで作成してきたアプリをAndoridで試すことができました。ただ、画面の配置がおかしい、また、ボタンを押しても反応しないなど、色々と修正をしないといけない感じです。
このあたりは、Eclipseでデバックをしながら、治していく必要があります。
今度はデバックです!!
