注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

关于UE4 C++项目编译rapidxml库并运行时报错问题  

2015-06-28 15:04:22|  分类: UE4 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
昨天晚上弄到晚上3点,今天又弄了半天,总算是把问题找到了。
新建了一个UE4的C++项目,想使用第三方的rapidxml库对我以前作cocos2d-x的游戏配置数据进行解析,因为以前就用的是这个库。
关于UE4 C++项目编译rapidxml库并运行时报错问题 - ♂苹果 - 眼睛想旅行
 这种错误在之前安卓项目编译上也出现过,当时就是在android.mk文件里加上编译设置项解决的,但在ios项目的xcode编译环境下只能通过xcode设计解决。在teasure4-ios的target编译设置里我们可以找到相关设置项,这个默认就是开启的。如下图:
关于UE4 C++项目编译rapidxml库并运行时报错问题 - ♂苹果 - 眼睛想旅行
 
发现在UEEditer里编译C++的时候不会出错,但在xcode里总是会出现下边的teasure4-mac编译出错。用了我很常时间,后来发现是因为在teasure4-mac 的target设置里的平台支持项里有iphoneos和iphonesimulator项。如下图
关于UE4 C++项目编译rapidxml库并运行时报错问题 - ♂苹果 - 眼睛想旅行
 
我们这里将teasure4-mac的SUPPORTED_PLATFORMS平台支持相关项中的iphoneos iphonesimulater两项删除,然后问题就解决了。

编译问题到是解决了,但在使用UEEditer打包ios的时候问题依旧。无奈之下只能从xml解析的源码入手了。
在rapidxml.hpp文件中加入不支持标准异常宏定义,再将另外两个使用了throw抛出异常的地方注释掉,这一次好像是正常了。
关于UE4 C++项目编译rapidxml库并运行时报错问题 - ♂苹果 - 眼睛想旅行
 
两个要修改的地方,如下,把原来的异常改成了断言。
关于UE4 C++项目编译rapidxml库并运行时报错问题 - ♂苹果 - 眼睛想旅行
 再package一下iOS,这次就成功以,并且可以在ios的真机上调试了。
到这里,rapidxml的xml库就可以在unreal engine中使用了。接下来我再试着将protobuf库集成到unreal engine中。

以前在使用cocos2d-x时安卓相关的问题可以查看下边说明,
安卓编译的问题参考链接:(http://zengrong.net/post/2168.htm

在为 DragonBonesCPP/refactoring 的 cocos2d-x-3.2 demo 增加 Android 编译时,NDK 报了一个编译错误:

error: cannot use ‘throw’ with exceptions disabled
throw std::invalid_argument(“Invalid data.”);

这是由于 DragonBonesCPP 库使用了 C++ 标准异常,而 Android NDK 编译器默认不支持 C++ 异常控制导致。

但是,从Android NDK r5 版本开始,NDK 就开始支持 C++ 异常控制了,我的版本是 r9d ,为什么还会出现这个错误呢?

原来,NDK 编译器的 C++ 异常控制特性支持默认是关闭的。要打开它,可以这样做:

编辑 Android.mk 文件,加入下面的代码:

LOCAL_CPP_FEATURES += exceptions

或者:

LOCAL_CPPFLAGS += -fexceptions

这样可以对当前项目开启 C++ 异常控制编译支持。

如果想偷懒,也可以编辑 Application.mk 文件,加入下面的代码:

APP_CPPFLAGS += -fexceptions

这样,所有模块的 C++ 异常控制编译支持都会被打开。

上面的两个 mk 文件位于 proj.android/jni 文件夹中。

转载请注明出处:http://fengmm521.blog.163.com/blog/static/25091358201552824959968/
  评论这张
 
阅读(860)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017