1.编译时遇到找不到文件的错误:比如fatal error: cocos-ext.h: No such file or directory    ,

fatal error: CocosGUI.h: No such file or directory等。

原因:1,可能android.mk中没有加入对应的cpp文件。2,在xcode下开发。能够直接#include "cocos-ext.h",由于xcode会自己主动匹配路径,但转到android下,就要加上对应的文件夹,所以要改成#include "ui/CocosGUI.h"  ,#include "extensions/cocos-ext.h"

2.project中用到了第三方库libpomelo。正确做法应该是放到cocos2d/external文件夹下,可是项目由于某种原因没有这么做。所以后面在编写android.mk文件时遇到了一些错误:

Cannot find module with tag 'libpomelo' in import path

Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?

然后网上查找解决的方法,看到了一篇关于NDK_MODULE_PATH定义问题文章,最后我在项目android.mk文件的末尾加上

$(call import-add-path,/Users/jason/Desktop/1000dreams222/Road2God/libs)    #凝视:/Users/jason/Desktop/1000dreams222/Road2God/libs 为libpomelo的绝对路径

$(call import-module,libpomelo)这两句话,搞定。

3.遇到c++语法错误:

error: 'to_string' was not declared in this scope 或者 error: 'to_string' is not a member of 'std'

原因:android上编译不通过。貌似是c++11的bug

解决的方法:我写了一个模版函数,例如以下:

template <typename T>

std::string to_string_platform(T value)

{

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

std::ostringstream os;

os << value;

return os.str();

#else

return std::to_string(value);

#endif

};

在android上使用流操作,其它平台继续使用string的函数。

4.遇到错误:format not a string literal and no format arguments

原因:预计是gcc编译器比較严格。我的gcc编译器是4.2.1,而xcode默认编译器是LLVM 3.0。

解决的方法:在application.mk文件里增加以下一句:APP_CPPFLAGS += -Wno-error=format-security

5.今天看别人的代码遇到一个非常蛋疼的问题,纠结了我三个多小时。。。

(由于俺是c++菜鸟)

上代码:

auto arenabtn =Button::create();

arenabtn->loadTextures("btn_arena_n.png","btn_arena_o.png",nullptr);

这两句代码看起来没问题吧。。只是在android上就是会崩!看下函数原型

void loadTextures(conststd::string& normal,const
std::string& selected, conststd::string& disabled ="", TextureResType texType =
UI_TEX_TYPE_LOCAL);

看到了没,第三个參数是string类型。调用时赋值为nullptr,结果执行时就崩了。

所以不要用nullptr,NULL去初始化string类型。

cocos2dx 3.0打包android遇到的错误(持续更新)的更多相关文章

  1. H5移动端IOS/Android兼容性总结,持续更新中…

    H5移动端IOS/Android兼容性总结,持续更新中… 1. IOS不识别日期 new Date("2018-07-01 08:00:00")在Android下正常显示可以直接进 ...

  2. 【Cocos2d-x】Mac 在 Cocos2d-x 3.X 打包Android

    今天cocos2d-x 3.0正式版最终公布了,下午特地下载了来尝尝鲜,废话不多说了. 3.0正式版的环境搭建和之前的RC版事实上是一样的,太多的教程也写了怎样搭建.今天来写写我自己是怎样来搭建的. ...

  3. Cocos2d-x 3.0修改Android平台帧率fps - 解决游戏运行手机发热发烫问题

    使用Cocos2d-x 3.0开发游戏之后,发现游戏在android手机上发热非常严重,在魅族2上,几乎担心手机会爆炸了~~~采取的一个措施就是降低帧率,因为游戏对于帧率要求不是非常高. 做过coco ...

  4. Android系统兼容性问题(持续更新)

    相信开发过一段Android的都被Android中的兼容性问题给折腾过,有时这确实很无奈,Android被不同的厂商改的七零八落的.本文主要总结下本人在实际的项目开发过程中所遇到的兼容性问题,以及最后 ...

  5. Android.mk模板(持续更新中)

    此文列出Android.mk的常用模板(部分内容源于多篇他人博客,这里不具体指出),如有错漏,还请在评论中指出,后期持续更新   #链接第三方动态库,在和部分android源码的编译中验证不过 LOC ...

  6. 私人网盘系统2.0—全部升级为layUI+PHP(持续更新中)shang

    网盘系统2.0   上周,我做了第一版的“私人网盘系统”,http://www.cnblogs.com/sunlizheng/p/7822036.html 没看过的朋友可以去看一下,这周在家升级做了第 ...

  7. Mac下cocos2dx-3.0打包Android时,提示&quot;SimpleAudioEngine.h&quot;not found的解决方法

    前段时间触控公布cocos2dx-3.0,在升级之后试过之后,在最初的不习惯之后,感觉比之前的好用了不少,在下之前一直是用xCode模板创建,这回算是一口气升到顶了. 之后再一次编程时须要用到Sima ...

  8. Cocos2d-x 3.2 打包Android平台APK

    (转自:http://www.cnblogs.com/Richard-Core/p/3855130.html) 从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭 ...

  9. Android 问题汇总(持续更新)

    Q1:Error:(93, 12) 错误: 需要常量表达式 问题描述:这个问题是在添加一个module到项目中时遇到的,主要原因是因为原来module中的R文件是不会以final形式存在的,但是在mo ...

随机推荐

  1. ORACLE 检索某列包含特定字符串的数据表工具存储过程

    使用示例: delete APPS.FIND_RESULT; set serveroutput ondeclare     v_ret varchar(200);begin     apps.sp_f ...

  2. python os模块部分摘录

    转自:http://www.cnblogs.com/yigehundan/p/6379586.html python 路径相关的函数os.listdir(dirname):列出dirname下的目录和 ...

  3. HDU——4549M斐波那契数列(矩阵快速幂+快速幂+费马小定理)

    M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Su ...

  4. Java面试通关要点

    Java面试通关要点 2018-03-23 梁桂钊 占小狼的博客 占小狼的博客 占小狼的博客 微信号 whywhy_zj 功能介绍 Java进阶技术干货.实践分享,跟着狼哥一起学习JVM.性能调优,欢 ...

  5. uva 10561 sg定理

    Problem C Treblecross Input: Standard Input Output: Standard Output Time Limit: 4 Seconds Treblecros ...

  6. 【Hihocoder1034】毁灭者问题(splay,树状数组)

    题意: 假设你拥有 n 个魔法单位,他们从左到有站在一行,编号从 1 到 n. 每个单位拥有三项属性: si: 初始法力. mi: 最大法力上限. ri: 每秒中法力回复速度. 现在你操纵一个毁灭者, ...

  7. excel打乱各行的顺序,实现无序随机排列

    由于公司做活动,经常会发些激活码过来,为了让激活码能够充分使用,经常要打乱激活码的顺序,百度了下,看了下网上的介绍,还不错,挺实用,记录下来. 具体方法如下: 1.将文本里的内容复制到Excel里的任 ...

  8. MySQL 游戏排行榜

    今天在坛子上看到了,顺便写下来. 有两种方法: 1.效率不高,因为有子查询.但是简洁.而且我对SOCRES表做了INDEX.所以性能上也差不了多少. mysql> show create tab ...

  9. Linux 下 GCC 编译共享库控制导出函数的方法

    通过一些实际项目的开发,发现这样一个现象,在 Windows 下可以通过指定 __declspec(dllexport) 定义来控制 DLL(动态链接库)中哪些函数可以导出,暴露给其他程序链接使用,哪 ...

  10. windows安装SUSE Linux Enterprise Server 12

    一:打开“开发人员模式” 点击开始菜单按钮,选择“设置” 在设置中选择“更新和安全” 在菜单中选择“针对开发人员”,在三个选项中,选中“开发人员模式” 在弹出的警告框中点击“是” 这样开发人员模式就打 ...