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

亲测cocos2d-x3.2打包到android以及发现一个BundleReader里的错误

2014-10-19 15:40 309 查看
现在打包apk不用通过Eclipse了,但是也需要配置SDK,NDK,JDK,Ant,具体方法可看官网。

首先跟往常一样,在工程里proj.android\jni\Android.mk里添加所有class里的cpp文件路径。

在工程主目录下shift+右键:在此处打开命令窗口。

输入:cocos compile -p android --ap 19
说明:
-p是平台 。
--ap是sdk里platform文件夹下的平台号。

然后漫长的等待。。。
等到出现:
BUILD SUCCESSFUL
Total time: 11 seconds
Move apk to G:\Cocos2d-x\cocos2d-x-3.2\project\HelloWorld\bin\debug\android
build succeeded.
就好了,在主项目目录下bin\debug\android里找到apk。

今天我遇到如下报错:
G:\Cocos2d-x\cocos2d-x-3.2\project\HelloWorld\proj.android\../cocos2d/cocos/./3d
/CCBundleReader.cpp:94:23: error:
      return type of out-of-line definition of 'cocos2d::BundleReader::tell'
      differs from that in the declaration
对应位置:
ssize_t BundleReader::tell()
{
if (!m_buffer)
return -1;
return m_position;
}


根据cpp出错函数定位到CCBundleReader.h ,发现声明是这样:
/**
* Returns the position of the file pointer.
*/
long int tell();


把"long int tell()"方法改成"ssize_t tell()"就好了。(居然跟cpp声明不一致)。

追踪ssize_t,发现这是一个long型,这种VS不会报错,但是部署到android反而不给过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐