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遇到的错误(持续更新)的更多相关文章
- H5移动端IOS/Android兼容性总结,持续更新中…
H5移动端IOS/Android兼容性总结,持续更新中… 1. IOS不识别日期 new Date("2018-07-01 08:00:00")在Android下正常显示可以直接进 ...
- 【Cocos2d-x】Mac 在 Cocos2d-x 3.X 打包Android
今天cocos2d-x 3.0正式版最终公布了,下午特地下载了来尝尝鲜,废话不多说了. 3.0正式版的环境搭建和之前的RC版事实上是一样的,太多的教程也写了怎样搭建.今天来写写我自己是怎样来搭建的. ...
- Cocos2d-x 3.0修改Android平台帧率fps - 解决游戏运行手机发热发烫问题
使用Cocos2d-x 3.0开发游戏之后,发现游戏在android手机上发热非常严重,在魅族2上,几乎担心手机会爆炸了~~~采取的一个措施就是降低帧率,因为游戏对于帧率要求不是非常高. 做过coco ...
- Android系统兼容性问题(持续更新)
相信开发过一段Android的都被Android中的兼容性问题给折腾过,有时这确实很无奈,Android被不同的厂商改的七零八落的.本文主要总结下本人在实际的项目开发过程中所遇到的兼容性问题,以及最后 ...
- Android.mk模板(持续更新中)
此文列出Android.mk的常用模板(部分内容源于多篇他人博客,这里不具体指出),如有错漏,还请在评论中指出,后期持续更新 #链接第三方动态库,在和部分android源码的编译中验证不过 LOC ...
- 私人网盘系统2.0—全部升级为layUI+PHP(持续更新中)shang
网盘系统2.0 上周,我做了第一版的“私人网盘系统”,http://www.cnblogs.com/sunlizheng/p/7822036.html 没看过的朋友可以去看一下,这周在家升级做了第 ...
- Mac下cocos2dx-3.0打包Android时,提示"SimpleAudioEngine.h"not found的解决方法
前段时间触控公布cocos2dx-3.0,在升级之后试过之后,在最初的不习惯之后,感觉比之前的好用了不少,在下之前一直是用xCode模板创建,这回算是一口气升到顶了. 之后再一次编程时须要用到Sima ...
- Cocos2d-x 3.2 打包Android平台APK
(转自:http://www.cnblogs.com/Richard-Core/p/3855130.html) 从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭 ...
- Android 问题汇总(持续更新)
Q1:Error:(93, 12) 错误: 需要常量表达式 问题描述:这个问题是在添加一个module到项目中时遇到的,主要原因是因为原来module中的R文件是不会以final形式存在的,但是在mo ...
随机推荐
- BZOJ 1587: 叶子合并leaves
题目大意:求n个数分成k段的最小代价. 题解:DP,没什么好说的. 代码: #include<cstdio> #include<algorithm> using namespa ...
- python基础学习笔记——模块
自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...
- 利用MySQL数据库如何解决大数据量存储问题?
提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条 ...
- ubuntu 终端查看图片(eog)
远程登陆服务器的话,是没有办法直接查看图片的,这时我们需要进入图片所在目录,然后通过终端命令查看图片. 想要查看图片,需要通过ssh -X登陆,然后在终端输入命令: eog 图片名
- 如何部署 sources and javadoc jars
mvn org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file -Durl=file:///home/me/m2-repo \ - ...
- KD-Tree 的笔记
声明: 蒟蒻对于 KD-Tree 的一点理解,写在博客里面作为笔记. 1.KD-Tree 的定义 1)关于 K-D KD-Tree 中的 D 即为 Dimension ,意思也就是维度. 所以 KD- ...
- charts jupyter notebook 画简单的柱状图
数据库是mongdb 数据是58同城上发的转手记录 一 为了保证数据安全,对需要进行处理的数据进行拷贝. > db.createCollection('test') { } > show ...
- ORACLE的impdp和expdp命令【登录、创建用户、授权、导入导出】
使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...
- hdu 4961 数论 o(nlogn)
Boring Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Tot ...
- 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例
一.前言 毕业论文答辩结束,闲下来写篇文章.芯片研发人员都在Linux系统下借助各种EDA工具和代码语言完成工作,因此提高代码开发效率,熟练运用开发工具是十分必要的.本文讲述VIM编辑神器的veril ...