Type cannot use 'try' with exceptions disabled

Type cannot use 'try' with exceptions disabled,第1张

概述cannot use ‘throw’ with exceptions disabled 在为 DragonBonesCPP/refactoring 的 cocos2d-x-3.2 demo 增加 Android 编译时,NDK 报了一个编译错误: error: cannot use ‘throw’ with exceptions disabled throw std::invalid_argume

cannot use ‘throw’ with exceptions disabled

在为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://Zengrong.net/post/2168.htm/comment-page-1

总结

以上是内存溢出为你收集整理的Type cannot use 'try' with exceptions disabled全部内容,希望文章能够帮你解决Type cannot use 'try' with exceptions disabled所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1032299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存