Xcodeで作った物を、Eclipseで動かすための必要な作業
・コンパイルファイル設定
Android.mk
CPP_FILES := $(shell find $(LOCAL_PATH)/../../Classes -name *.cpp)
LOCAL_SRC_FILES := hellocpp/main.cpp
LOCAL_SRC_FILES += $(CPP_FILES:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)
cocos2d/extensionsの機能を使う場合は、以下の2行をコメントアウト。
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
$(call import-module,extensions)
・パスの変更
#include "cocos-ext.h"
#include "CCVector.h"
↓
#include <extensions/cocos-ext.h>
#include <base/CCVector.h>
その他にも、
#include
など、Xcodeでは不要だがEclipseだと明示的にインクルードが必要なものなど出てくるので注意。
◯ライブラリプロジェクト使用時の注意
外部ライブラリが必要になる場合がある。
単体のjarファイル1つあればよいときは、libsディレクトリにjarファイルを配置するだけでよいので話が早い。
git addすれば、他の人もそのまま使えるので便利。
android-support-v4.jar や、各種広告SDKはそういう形になっている。
しかしそうではなく、Eclipse上でライブラリプロジェクトとして登録し、それへのリンクを保持する必要がある場合もある。
例えばlibcocos2dもそうだし、google-play-servicesなどもそれにあたる。
このプロジェクトをEclipseに登録する。
File -> New -> Other -> Android Project from Existing Code
Eclipseに表示される
で、これを自分のプロジェクトからリンクする。
これで完了……ではない。
ライブラリプロジェクトの中身を見ると、
libs/google-play-services.jar
というファイルがあるが、実際に使うのはこれではない。
ビルドしてみると分かるが、エラーになる。
bin/google-play-services-lib.jar
という名前のjarファイルが存在しない、というエラーになる。
このjarは、ライブラリプロジェクトをビルドすると生成される。
ので、ビルドしよう。
ライブラリプロジェクトを右クリック→Build Projectをする。
しかし、このときエラーが出ることがある。
プロジェクトのプロパティを見ると、Project Build Target が選択されていないことがある。
正しいバージョンを選択し、再度ビルド。
これで成功し、bin/ 以下にjarファイルが生成される。
これで、自分のプロジェクトもビルドに成功する。
◯cocos2d-xのライブラリ
また、
couldn't load cocos2dcpp
というエラーが出ることがある。
これは、proj.androidで
$ ./build_native.py
または
$ ./build_native.sh
を実行し、cocos2dcppを作成することで治る。
libs/armeabi/libcocos2dcpp.so
obj/local/armeabi/libcocos2dcpp.so
などが生成される。
PR