【cocos2dx】Eclipse上で発生したエラーを解決する

Xcodeで作成をしていたアプリを、初めてEclipseで実行した時に色々とエラーが出ました。 今回は、この解決方法を紹介したいと思います。 もし、同じよなエラーで困っている方がいましたら、是非参考にしてみて下さい。

[cocos2dx_static/platform/android/CCCommon.o] が出る

最初にビルドすると、[cocos2dx_static/platform/android/CCCommon.o]感じのCCCommon.oに関するエラーが3つ出ました。 これの解決策は下記サイトを参考にして解決しました。

Eclipseのプロジェクトから、[jni]->[Application.mk]を修正します。

2013-9-5-ffdsa

コードは以下のように変更します。 [c]

APP_STL := gnustl_static APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1

//これを付け足します。 APP_CFLAGS += -Wno-error=format-security

[/c]

Android.mk

プロジェクトに新たに追加したクラスがあれば、それを「Android.mk」というところに登録をしないとEclipseが認識をしてくれません。

cocos2dxのHelloWorldのCCSceneだけ、実機で実行ができて、それ以外のクラスではエラーが出ました。 これはいちいち登録するのがメンドクサイので、下記サイトを参考に「Andoroid.mk」を修正しました。

Cocos2d-xで新しく作ったクラスを毎回Android.mkに追加せずに済ます - しすぜろ

Eclipseのプロジェクトから、[jni]->[Android.mk]を修正します。

2013-9-5-llllllls

コードは以下のように変更しました。 [c]

//以前のモノ

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)/%=%)

[/c]

auto型

cocos2dxでは、auto型Eclipseでは認識できないのでエラーになります。 これに関しては、正式なクラスに置き換えたらエラーは消えました。

ヘッダーファイルに未設定のメソッドがある場合

ヘッダーファイルに未設定のメソッドを定義して、cppファイルで中身を設定していない場合、エラーになります。 これは、ヘッダーファイルのメソッドを削除すればエラーが消えました。

最後に

上記のエラーを解決したら、無事これまでXcodeで作成してきたアプリをAndoridで試すことができました。 ただ、画面の配置がおかしい、また、ボタンを押しても反応しないなど、色々と修正をしないといけない感じです。 このあたりは、Eclipseでデバックをしながら、治していく必要があります。 今度はデバックです!!