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

【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


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

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]を修正します。

2013-9-5-llllllls


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

//以前のモノ
#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でデバックをしながら、治していく必要があります。
今度はデバックです!!

Related Posts Plugin for WordPress, Blogger...