MRB_THROW在libC++中导致错误abi.dylib
问题描述:
我在尝试构建ios-ruby-embedded项目的修改版本,其中包含mruby-mgems列表(其中包含.cpp文件)中的mruby-marshal gem。我可以得到它的建立和运行,但如果我提出任何异常的应用程序崩溃时,它从error.c以下消息调用MRB_THROW
:MRB_THROW在libC++中导致错误abi.dylib
libc++abi.dylib: terminating with uncaught exception of type int
我怀疑问题出在mRuby异常是如何处理冲突正在编译和链接:根据文档,如果包含C++代码,它可以使用setjmp/longjmp处理或C++异常;但是,我无法弄清楚需要哪些配置选项组合才能使其正常工作。
为了得到它来建立我做了一些修改项目:
- 添加conf.cxx部分在Rake文件每个目标(在conf.cc部分复制设置)
- 添加“-lC++”标志,在我使用Xcode项目(从mruby-ios-example项目派生)
- 在mruby名帅项目的其它链接器标记“,而不是使用的mruby-onig-regexp依赖性mruby-pure-regexp宝石