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. python基础学习笔记——列表技巧

    列表: 循环删除列表中的每⼀个元素 li = [, , , ] for e in li: li.remove(e) print(li) 结果: [, ] 分析原因: for的运⾏过程. 会有⼀个指针来 ...

  2. awk支持多个记录分隔符的写法

    awk的-F参数可以指定新的记录分隔符,有些时候可能需求指定多个分隔符,比如下面的内容 width:720 height:360 如果需要取出width和height后面的值的话,一般大家会这样做,即 ...

  3. go 本地安装 grpc-go

    https://blog.csdn.net/code_segment/article/details/77461590 https://github.com/grpc/grpc-go git clon ...

  4. Knockout v3.4.0 中文版教程-4-通过监控数组工作

    2.通过监控数组工作 1. 监控数组 如果你想检测或者响应一个对象的改变,你用observables.如果你想检测和响应一个集合的改变,使用observableArray.这个在很多情况下都非常有用, ...

  5. luogu2051 [AHOI2009]中国象棋

    巨水,调了好久,心态爆炸 #include <iostream> #include <cstring> #include <cstdio> using namesp ...

  6. python模拟浏览器webdriver登陆网站后抓取页面并输出

    关键在于以下两行代码 特别是find_element_by_xpath写法 很多写成 findElementsByXpath不知道是写错了 还是高级版本是这么写的... #webElement = s ...

  7. python基础-文件和目录

    字符串小练习 >>> s="1a2a3a4a5a" >>> s1=s.split('a') >>> >>> ...

  8. 【bzoj2229】[Zjoi2011]最小割 分治+网络流最小割

    题目描述 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中,则称这个划分 ...

  9. 【倒跑并查集维护连通块】NCPC 2016 A. Artwork

    http://codeforces.com/gym/101550/attachments [AC] #include<bits/stdc++.h> using namespace std; ...

  10. KVM 存储虚拟化

    KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论.Volume 是 ...