我正在尝试构建ios-ruby-embedded项目的修改版本,其中包含一些额外的gem,包括mruby-marshal列表(包括.cpp文件)中的mruby-mgems gem。我可以构建并运行它,但是如果引发任何异常,则应用程序在从error.c调用MRB_THROW
并显示以下消息时会崩溃:
libc++abi.dylib: terminating with uncaught exception of type int
我怀疑问题出在如何编译和链接mRuby异常处理方面存在冲突:根据文档,如果包括C++代码,它可以使用setjmp / longjmp处理或C++异常;但是,我无法弄清楚我需要哪种配置选项才能正常工作。
为了构建它,我对项目进行了一些更改:
最佳答案
解决方案是将-fexceptions
标志添加到C编译器标志列表。我准备了用于修复此问题的Rakefile的gist,请注意conf.cc
标志。