cocos2dx 3.0打包android遇到的错误(持续更新)
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遇到的错误(持续更新)相关推荐
- Android面试总结(持续更新修改)
###Android面试总结(持续更新修改) 1.Android 的四大组件是哪些,它们的作用? ①Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为 ...
- Android 学习记录(持续更新)
Android 学习记录(持续更新) 1.AndroidManifest.xml 详解: http://www.jb51.net/article/73731.htm (AndroidManifest. ...
- Android常用开发网址(持续更新)
2019独角兽企业重金招聘Python工程师标准>>> Android常用开发网址(持续更新) 环境搭建 android镜像 http://www.androiddevtools.c ...
- Cocos2d-x 3.0修改Android平台帧率fps - 解决游戏运行手机发热发烫问题
使用Cocos2d-x 3.0开发游戏之后,发现游戏在android手机上发热非常严重,在魅族2上,几乎担心手机会爆炸了~~~采取的一个措施就是降低帧率,因为游戏对于帧率要求不是非常高. 做过coco ...
- Android面试题集锦(持续更新)
一.java 熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等. (一)ja ...
- Android系统兼容性问题(持续更新)
相信开发过一段Android的都被Android中的兼容性问题给折腾过,有时这确实很无奈,Android被不同的厂商改的七零八落的.本文主要总结下本人在实际的项目开发过程中所遇到的兼容性问题,以及最后 ...
- android 内存泄漏(持续更新)
1.产生原因 该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收 参考: Android 内存泄漏总结-阿里云开发者社区 2.内存泄漏的场景 1.单例导致内 ...
- android studio安装教程(持续更新中,包安装成功,不成功你找我)
遇到问题请往下看,先看完,先看完,先看完!!! 如果实在解决不了可以联系我,评论区有联系方式!!! 百度搜索Android studio,或者直接输入Download Android Studio & ...
- 优秀的Android开源框架(持续更新)
开源是软件发展的趋势,越来越多的人投入到开源世界中去.我们可以从开源世界中获得很多有益的东西,本着不重复造轮子的精神,我们应该充分利用这些开源项目的成果.本文会持续更新涌现出来的优秀开源框架. UI ...
最新文章
- Hyper-V 内存管理必须知道的
- 树莓派应用实例6:测量土壤湿度(改进WEB发布)
- 两个单链表相交的一系列问题
- matlab命令fvtool,FVTool: a finite volume toolbox for Matlab
- VTK:PolyData之DistancePolyDataFilter
- Unity 游戏用XLua的HotFix实现热更原理揭秘
- Oracle ODP.NET数据库访问连接字符串
- B端可视化:图表设计
- Forrester报告拆解:强劲冲击第一梯队后,京东智联云站稳云市场新格局
- 高级计算机器,高级计算器最新版
- Oracle效率提升
- 【C#实现猜数字游戏】
- sha1校验工具android,Android 正式版与测试版签名(MD5,SHA1,SHA256)以及忘记keystore的应用正式版签名获取...
- MySQL查学生年龄30到40之间_MYSQL查询练习 1
- 【从零开始学习深度学习】34. Pytorch-RNN项目实战:RNN创作歌词案例--使用周杰伦专辑歌词训练模型并创作歌曲【含数据集与源码】
- 使用Epub.js打开本地Epub文件
- python 串口接收数据错误_PySerial无法正确接收数据
- 读完 Effective Java,我整理了 59 条技巧!(含pdf)
- 微型博客网站Twitter打假
- 关于APP个人信息安全和隐私合规评估,你想知道的都在这!
热门文章
- Shell——流程控制(if、case、for、while)
- How-to: Use the ShareLib in Apache Oozie
- Request-reply messaging
- Acknowledgement Modes
- loj10165. 「一本通 5.3 例 3」Windy 数
- mysql序列号发生器
- mybatis多排序问题
- linux下FTP服务搭建(1)
- python __builtins__ float类 (25)
- pycharm acejumpchar插件