初学COCOS2D-X 配置
2013-09-24 20:35
281 查看
环境:
COCOS2D-X-2.1.5python 2.7.5
win7
VS2012 EXPRESS
ECLIPSE
cygwin
NDK-R8D
环境搭建:
1.解压COCOS2D-X-2.1.5,打开cocos2d-win32.vc2012.sln,别人说的保存一下,再运行build-win32.bat2.创建跨平台项目
CMD进入到F:\cocos2d-x\cocos2d-x-2.1.5\tools\project-creator 这里有个create_project.py脚本
python create_project.py -project HelloWorld -package com.kakashijust.helloworld -language cpp
其中HelloWorld为工程名称,com.kakashijust.helloworld为android版本的包名,cpp跨平台语言
创建成功之后在cocos2d-x-2.1.5目录下生成projects目录,里面是生成的各个项目
运行demo:
proj.win32是win32项目,直接点击HelloWorld.sln打开,发现自动导入了需要的类库,直接运行就ok了
proj.android是android的项目,导入eclipse之前需要编译so文件,
cygwin需要加入NDK_ROOT变量,在proj.android的build_native.sh里要用到
修改F:\cygwin\home\Administrator\.bash_profile,末尾添加
NDK_ROOT=/cygdrive/f/android-ndk-r8d
export NDK_ROOT
NDK_MODULE_PATH已经在proj.android的build_native.sh里定义了,路径之间用:分开
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
cygwin进入到proj.android目录./build_native.sh,第一次编译需要挺长一段时间
编译成功后在proj.android目录下生成libs和obj目录
把proj.android导入到eclipse,copy F:\cocos2d-x\cocos2d-x-2.1.5\cocos2dx\platform\android\java\src下的java源码到eclipse上,如果还出错的话另建一个android项目吧,把这些资源都copy进来。
进入之前生成的obj文件夹看看 proj.android\obj\local\armeabi
发现是编译时生成的静态库动态库,我们不想每次生成一个新跨平台项目的时候都全部重新编译一次,可以重复利用这些类库
解决方案是在cocos2d-x-2.1.5目录下新建prebuild目录,把proj.android\obj\local\armeabi下(libcocos2dcpp.so就不用了)的类库都copy到prebuild,增加一个类似这样的Android.mk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dx_static LOCAL_MODULE_FILENAME := libcocos2d LOCAL_SRC_FILES := ./libcocos2d.a LOCAL_EXPORT_C_INCLUDES := \ $(LOCAL_PATH)/../cocos2dx \ $(LOCAL_PATH)/../cocos2dx/include \ $(LOCAL_PATH)/../cocos2dx/kazmath/include \ $(LOCAL_PATH)/../cocos2dx/platform/android \ #LOCAL_LDLIBS := -lGLESv2 \ # -llog \ # -lz LOCAL_EXPORT_LDLIBS := -lGLESv2 \ -llog \ -lz #LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API #LOCAL_EXPORT_CFLAGS := -Wno-psabi -DUSE_FILE32API LOCAL_WHOLE_STATIC_LIBRARIES := cocos_libpng_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_jpeg_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libwebp_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_libtiff_static include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := cocosdenshion_static LOCAL_MODULE_FILENAME := libcocosdenshion LOCAL_SRC_FILES := ./libcocosdenshion.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../CocosDenshion/include #LOCAL_CFLAGS += -Wno-psabi #LOCAL_EXPORT_CFLAGS += -Wno-psabi include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := box2d_static LOCAL_MODULE_FILENAME := libbox2d LOCAL_SRC_FILES := ./libbox2d.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../external include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := chipmunk_static LOCAL_MODULE_FILENAME := libchipmunk LOCAL_SRC_FILES := ./libchipmunk.a LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../external/chipmunk/include/chipmunk #LOCAL_CFLAGS := -std=c99 include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := cocos_extension_static LOCAL_MODULE_FILENAME := libextension LOCAL_SRC_FILES := ./libextension.a LOCAL_EXPORT_C_INCLUDES := \ $(LOCAL_PATH)/../extensions \ $(LOCAL_PATH)/../extensions/CCBReader \ $(LOCAL_PATH)/../extensions/GUI/CCControlExtension \ $(LOCAL_PATH)/../extensions/GUI/CCScrollView \ $(LOCAL_PATH)/../extensions/network \ $(LOCAL_PATH)/../extensions/LocalStorage \ $(LOCAL_PATH)/../extensions/CCArmature LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static LOCAL_WHOLE_STATIC_LIBRARIES += libwebsockets_static #LOCAL_CFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 #LOCAL_EXPORT_CFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 #LOCAL_CPPFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 #LOCAL_EXPORT_CPPFLAGS += -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 #LOCAL_CFLAGS := -fexceptions include $(PREBUILT_STATIC_LIBRARY) $(call import-module,libjpeg) $(call import-module,libpng) $(call import-module,libwebp) $(call import-module,libtiff) $(call import-module,libcurl) $(call import-module,external/libwebsockets/android)
来试一下COCOS2DX自带的demo,F:\cocos2d-x\cocos2d-x-2.1.5\samples\Cpp\TestCpp
TestCpp和pro.android/jni里都有Android.mk,打开修改尾部代码
TestCpp下的Android.mk
#$(call import-module,CocosDenshion/android) #$(call import-module,external/Box2D) #$(call import-module,external/chipmunk) #$(call import-module,cocos2dx) #$(call import-module,extensions) $(call import-module,prebuild)
proj.android/jni里的Android.mk
$(call import-module,samples/Cpp/TestCpp) #$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl) #$(call import-module,cocos2dx) #$(call import-module,CocosDenshion/android) #$(call import-module,extensions) #$(call import-module,external/Box2D) #$(call import-module,external/chipmunk) $(call import-module,prebuild)
cygwin进入到F:\cocos2d-x\cocos2d-x-2.1.5\samples\Cpp\TestCpp\proj.android
./build_native.sh
发现编译快多了,只是编译了Classes和jni部分,其他都利旧。现在可以导入到eclipse里运行TestCpp了么么哒
相关文章推荐
- Cocos2d-x2.1.4的android环境配置及使用
- cocos2d-x使用adt时需要做的配置
- 如何在window下搭建 cocos2d-x-开发环境保罗各项配置
- JSON学习笔记(格式/第三方库jsonCpp与libJson的配置和使用) cocos2d-x
- cocos2dx-lua开发环境搭建及Cocos2d-JS环境配置教程windows打包apk同样在mac环境也一样打包ios的ipk
- cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin
- 初学spring3,关于MultiActionController的使用和配置
- Cocos2d-x CocosWidget 项目配置及API说明
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- Ubuntu下cocos2d-x开发环境搭建及配置
- cocos2d-js 环境配置
- 初学java 之 环境变量配置win7 and linux
- VS2008下cocos2d-x工程配置
- Cocos2d-x 3.x 全平台新手开发配置教程
- cocos2d-x-3.2塔防游戏开发3:动态的从配置文件中设置怪物的关卡,总波数,初始化钱数
- cocos2dx[3.2](1) ——Cocos2D-X 和 VS2013 环境配置
- Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag 'CocosDenshion/android' in import path
- WinXP环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境
- 配置cocos2d-x-3.0alpha1 VS2012简单方式
- 初学SDRAM笔记5--配置FMC的SDRAM初始化结构体