Cocos2d-x初级篇之工程的创建和编译(windows环境)

一,创建cocos2dx的工程

二,修改默认的makefile

三,使用cygwin编译,运行


一,创建工程

进入cocos2dx的home目录,打开create-android-project.bat,修改其中几个变量


_CYGBIN : cygwin\bin的安装绝对路径

_ANDROIDTOOLS : android sdk的 tools目录绝对路径

_NDKROOT : ndk 的绝对路径

改完之后,双击运行之。

 

之后会出现以下

步骤:1 输入包路径, 工程名(如果在cocos2dx HOME目录中有同名的文件夹会被覆盖,记得不要同名)


步骤2 输入target id,(之前设置的tools路径,列出当前SDK所有版本,会按低到高编ID号), 


这里我选择 Android2.3.3, 输入5

这样就完成了,打开cocos2dx的Home目录,多了个目录mygame,打开它有以下几个目录

|-->Classes

|-->proj.android

|-->Resources

二,修改默认的Android.mk

进入jni目录打开Andrid.mk

LOCAL_MODULE --- 模块名,唯一,不能有空格

LOCAL_SRC_FILES --- 源文件

LOCAL_C_INCLUDES --- 头文件

LOCAL_WHOLE_STATIC_LIBRARIES --- 静态库

$(call import-module,相对路径) --- 在上面添加了静态库之后,这里就需要

 

(不知道静态库的名称?如cocosdenshion_static,cocos2dx_static等,打开它们的目录找到的Android.mk)

修改之后的Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := mygame_shared

LOCAL_MODULE_FILENAME := libmygame

LOCAL_SRC_FILES := main.cpp \
                   Classes/AppDelegate.cpp \
                   Classes/HelloWorldScene.cpp \
                   Classes/MyScene.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,cocos2dx) \
$(call import-module,CocosDenshion/android)

 三,编译运行

编译前看看系统环境变量中是否设置了NDK_ROOT ,那是因为proj.android目录build_native.sh文件中有用到这变量

# paths

if [ -z "${NDK_ROOT+aaa}" ];then
echo "please define NDK_ROOT"
exit 1
fi

没有就设置一下吧...



完成就用cygwin执行 build_native.sh…最后成功的话就会生成一个so文件

eclipse导入工程,Cocos2dxActivity 找不到?

把 cocos2d-2.1rc0-x-2.1.3\cocos2dx\platform\android\java 工程导入eclipse 就可以了


end---------------

[参考资料:]

1, android编译系统makefile(Android.mk)写法

http://www.cnblogs.com/hesiming/archive/2011/03/15/1984444.html

2,Android Makefile分析

http://blog.csdn.net/andy_android/article/details/6960314


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值