我们的游戏用到了protobuf2.5,在其他版本中都是好的,但iphone5s中崩溃,表现为针对DescriptorPool为空了。网上也找不到什么信息,xiaozhong同学各种尝试,都没有搞定,太TMD折腾了。后来从这里获取了解决方案:

http://stackoverflow.com/questions/19848118/weird-ios-libprotobuf-dylib-cause-crash/20406591#20406591

Yes, ImageLoader on the newer devices (iPhone 5S and apparently iPad air) has its own copy of Protocol Buffers which causes symbol collisions.

I hacked around this by editing my google/protobuf/stubs/common.h and inserting the following line near the top of the file:

#define google myapp

Now, my copy of the Google protobuf implementation uses the namespace "myapp" instead of "google" and so the symbols don't collide with the system ones.

按照这个提示修改后,就可以了。我只是大致知道怎么回事,有时间再回来分析具体原因。

protobuf2.5 iphone5s中崩溃的问题的更多相关文章

  1. iOS中崩溃调试的使用和技巧总结 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题.简单的崩溃还好说,复杂的崩溃就需要我们通过解析Cras ...

  2. 将iPhone5s中的相片批量下载到电脑中

    前言:目前我还在使用iPhone5s这款手机,不过由于自己的无知,在使用手机的过程中发现有些用户的体验不是很好,特别是将手机中的相片批量下载到电脑中这件小事,和Android系统相关的手机相比更不好玩 ...

  3. 编译protobuf-2.5.0中的错误处理

    最近在编译protobuf-2.5.0源码的时候发现的错误已经应对方法 1. 在源码目录执行 ./configure 命令的时候,发生如下错误 error: C++ preprocessor &quo ...

  4. 关于QT中“崩溃”问题

    经常会遇到一个问题,程序运行崩溃! 1.release.debug直接运行崩溃. 2.程序可以运行但是点击界面崩溃. 3.debug模式崩溃,release正常. 4.软件里面的release和deb ...

  5. MDK5在调试中崩溃,提示“IDE已停止工作”

    出问题的原因是路径名太长,换个深度浅一点的路径就好了. 要注意,更换路径之后,要全部重新编译,否则调试的时侯MDK还会找旧路径的源代码.(嗯,MDK毛病是很多!)

  6. APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)

    APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近涉足APP端测试,常见检查点总结如下:   一.业务方面: 1.  注册( ...

  7. 用H5中的Canvas等技术制作海报

    在去年的时候也实现过合成海报的功能,不过当时时间仓促,实现的比较简单. 就一个旋转功能,图片也不能拖动放大,也不能裁剪. 去年的实现可以参考<移动图片操作--上传>和<移动图片操作- ...

  8. 在Docker中运行torch版的neural style

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...

  9. Android之崩溃日志管理

    文章大纲 一.Android崩溃日志管理简介二.崩溃日志管理实战三.项目源码下载   一.Android崩溃日志管理简介 1. 什么是android崩溃日志管理   开发中有些地方未注意可能造成异常抛 ...

随机推荐

  1. Shell基本的命令

    ubuntu 中文乱码 如果使用的是 PuTTY,可以通过修改 font, character set 设置来解决. Window -> Appearance -> Font settin ...

  2. java 判断浏览器

    String agent = request.getHeader("User-Agent").toLowerCase(); Pattern pattern = Pattern.co ...

  3. nginx添加缓存

    nginx的具体逻辑是什么样的? 分布式session spring session redis过滤器 有4种方案: 一直访问一台 //如果这台机器垮掉了,怎么办? session同步 序列化传输 / ...

  4. asp.net微信开发第三篇----自定义会话管理

    和微信用户的沟通少不了,总觉得看起来微信官网后台管理中的会话回复消息有点呆板,所以我这里就自定义了一个会话管理功能,最终效果图如下: 因为我试使用富文本文件CKEDITOR来进行编写,你看到稳中可能会 ...

  5. js添加onclick函数

    document.getElementById('Add').setAttribute("onclick",AddNum()); 相当于不停的调用Addnum函数 应改成docum ...

  6. mysql 存储引擎MYSIAM和INNODB特性比较

    事物:MYISAM不支持事物,MyISAM类型的表强调的是性能,其执行数度比InnoDB 类型更快.如果不考虑事物,大量的select和insert适合MYISAM表 锁:MYISAM支持表锁    ...

  7. UITableView出现卡顿如何处理

    tableView的beginUpdate和endUpdate要比reloadData和reloadRowsAtIndexPaths好,因为beginUpdate和endUpdate会执行一个动画bl ...

  8. 2013 多校联合2 D Vases and Flowers (hdu 4614)

    Vases and Flowers Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others ...

  9. 一个读取C#特性Description方法

    class Program { static void Main(string[] args) { string str= DB.write.ToDescription(); Console.Writ ...

  10. redis常见命令

    一.介绍 1.Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis提供了一些丰富 ...