您的位置:首页 > 移动开发 > Cocos引擎

OSX系统编译cocos2dx andriod工程

2013-09-25 14:12 183 查看
所用版本如下

cocos2dx 版本2.14

NDK版本 android-ndk-r9

OSX 10.8.5

在官网下载andriod SDK 目前为止的版本为adt-bundle-mac-x86_64-20130917

ADT已经自带了Eclipse而且在OSX上不需要特殊安装,只需要拷贝到自定义的目录,打开Eclipse就可以了,看说明文档是说第一次打开就会自己设定相关环境变量等等,如果要改变目录,要改相应的设置。总之我第一次打开之后并没有再次修改路径。建议解压完毕后copy到指定目录再打开Eclipse

官网下载NDK 目前为止的版本是android-ndk-r9-darwin-x86_64.tar.bz2

解压了之后也不需要特别设置,说明文档以前似乎是需要安装的,后来在后面的版本中去掉了,也是拷贝到自定义的目录就可以了。

cocos2dx编译成安卓工程需要设置NDK_ROOT的环境变量,在终端中可以用VI打开 ~/.bash_profile(没有此文件可以手动创建一个) 加入

export NDK_ROOT="你设定的目录即可"

然后关掉终端再打开就可以识为这个变量了。

然后将cocos2dx andriod工程的build_native.sh丢到终端中运行就可以了。。注意修改下此文件的权限,增加执行权限

chmod u=rwx ./build_native.sh

我本地的build_native.sh文件好像默认不带执行权限,结果无法执行

开始编译之后表示一切配置成功了。如果提示找不到NDK_ROOT就再检查下路径啊拼写什么的。

在终端中执行echo $NDK_ROOT 能打印出你设置的路径,并执行 cd $NDK_ROOT 能进入指定文件夹就表示设置成功了

注意:

  R9版本的NDK编译cocos2dx2.14会有些字符串格式化的报错 如下:

  CCLog(const char*(p)); 类似这种语法会有格式化安全机制引起的错误

要改成CCLog(“%s”,const char*(p));这样才可以

听说上一版本的NDK不会有问题,但是本人懒得去下载又不想改变cocos2dx本来的文件 ,怕版本升级引发问题,所以网上查了一下关掉了这个安全机制的错误警告

在安卓工程 jni/Application.mk 在APP_CPPFLAGS后面加入 -Wno-error=format-security 如下

APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1 -Wno-error=format-security

  感谢万能的谷歌以及网友拯救了我
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: