MacでEclipseを利用してCocos 2 d-xをリアルタイムでコンパイル
2907 ワード
現在多く使われているCocos 2 d-x開発プラットフォームはXCodeであり、ほとんどのCocos 2 d-x開発者がiOS開発者であるためである.しかし、XCodeが開発したCocos 2 d-xプロジェクトをAndroidバージョンでリリースする場合、毎回ndkを使用してCocos 2 d-xのC++コードをコンパイルし、Eclipseで開く必要があります.このプロセスは面倒です.そこで、私はEclipseでCocos 2 d-xのプロジェクトをリアルタイムでコンパイルしようとしました.javaとandroidコードをいつでも変更したり追加したりして、Eclipseの実行をクリックしてコンパイルを完了することができます.
参考のCocos 2 d-xコンパイルのチュートリアルは以下の通りです.
http://www.xuephp.com/main/detail.php?cid=32787
以上のチュートリアルに従って構成が完了すると、実行中にエラーが発生します.次のようになります.
エラー1:
make: *** [clean-box2d_static-armeabi] Error 2
これはndkr 8 eのバグです
ソリューション:
android-ndk-r 8 e/build/core/build-binary.mkの変更
$(cleantarget): PRIVATE_CLEAN_FILES := ($(my)OBJS)
次のようになります.
$(cleantarget): PRIVATE_CLEAN_FILES :=$($(my)OBJS
エラー2:
Type Symbol 'cocos2d' could not be resolved
Cocos 2 d-xを導入していないソースファイル
ソリューション:
1.right click project, and select Properties\C/C++ General\Paths and Symbols\Source location. Click Link Folder, check the Link to a folder in the file system checkbox, and browse to the cocos2dxdirectory inside the $COCOS2DX_HOME folder.( the same way as add Classes)
2.right click project and select Properties\C/C++ General\Path and Symbols\GNU C++. Add$(COCOS2DX_HOME)/CocosDenshion/include
エラー3:
Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
最小SDKバージョンエラー
ソリューション:
AndroidManifest.xmlファイルのandroid:minSdkValersonを14に変更
以上のエラーを解決したら、後でJavaまたはC++コードを修正してそのままEclipseで実行すればよい.ただし、Eclipseで新しいC++クラスを作成してもエラーが報告される.また、プロジェクト中のAndroid.mkファイルに対応するC++クラス名を追加する必要があるためである.ただし、クラスを追加するたびにAndroid.mkを修正するのは面倒である.ここでは、Android.mkの文書を件は*.cppの形式に変更して、例えば:
以上の手順を完了すると、EclipseでCocos 2 d-xをリアルタイムでコンパイルするプロジェクトを実現できます.
個人ブログ:http://blog.csdn.net/zhaoxy2850
本住所:http://blog.csdn.net/zhaoxy2850/article/details/9341295
転載は出典を明記してください.ありがとうございます.
参考のCocos 2 d-xコンパイルのチュートリアルは以下の通りです.
http://www.xuephp.com/main/detail.php?cid=32787
以上のチュートリアルに従って構成が完了すると、実行中にエラーが発生します.次のようになります.
エラー1:
make: *** [clean-box2d_static-armeabi] Error 2
これはndkr 8 eのバグです
ソリューション:
android-ndk-r 8 e/build/core/build-binary.mkの変更
$(cleantarget): PRIVATE_CLEAN_FILES := ($(my)OBJS)
次のようになります.
$(cleantarget): PRIVATE_CLEAN_FILES :=$($(my)OBJS
エラー2:
Type Symbol 'cocos2d' could not be resolved
Cocos 2 d-xを導入していないソースファイル
ソリューション:
1.right click project, and select Properties\C/C++ General\Paths and Symbols\Source location. Click Link Folder, check the Link to a folder in the file system checkbox, and browse to the cocos2dxdirectory inside the $COCOS2DX_HOME folder.( the same way as add Classes)
2.right click project and select Properties\C/C++ General\Path and Symbols\GNU C++. Add$(COCOS2DX_HOME)/CocosDenshion/include
エラー3:
Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
最小SDKバージョンエラー
ソリューション:
AndroidManifest.xmlファイルのandroid:minSdkValersonを14に変更
以上のエラーを解決したら、後でJavaまたはC++コードを修正してそのままEclipseで実行すればよい.ただし、Eclipseで新しいC++クラスを作成してもエラーが報告される.また、プロジェクト中のAndroid.mkファイルに対応するC++クラス名を追加する必要があるためである.ただし、クラスを追加するたびにAndroid.mkを修正するのは面倒である.ここでは、Android.mkの文書を件は*.cppの形式に変更して、例えば:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
FILE_LIST := $(wildcard $(LOCAL_PATH)/../../Classes/Actions/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/Constants/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/Helpers/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/GameObjects/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/Scenes/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/Singletons/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/JNICalls/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)
LOCAL_SRC_FILES := helloworld/main.cpp
LOCAL_SRC_FILES += $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) $(call import-module,cocos2dx)
以上の手順を完了すると、EclipseでCocos 2 d-xをリアルタイムでコンパイルするプロジェクトを実現できます.
個人ブログ:http://blog.csdn.net/zhaoxy2850
本住所:http://blog.csdn.net/zhaoxy2850/article/details/9341295
転載は出典を明記してください.ありがとうございます.