Я пытаюсь построить модифицированную версию КСН-рубинового встроен проект с некоторыми дополнительными драгоценными камнями, включая mruby-маршал драгоценный камень из mruby-mgems список (который включает в себя файл .cpp). Я могу заставить его собирать и запускать, но если я поднимаю какое-либо исключение, приложение вылетает при вызове MRB_THROW
from error.c со следующим сообщением:
libc++abi.dylib: terminating with uncaught exception of type int
Я подозреваю, что проблема в конфликте в том, как обработка исключений mRuby компилируется и связывается: согласно документации, она может использовать либо обработку setjmp / longjmp, либо исключения C ++, если включен код C ++; однако я не могу понять, какая комбинация параметров конфигурации мне нужна, чтобы заставить ее работать.
Чтобы его собрать, я внес в проект некоторые изменения:
Решение было добавить -fexceptions
флаг в список флагов компилятора C. Я подготовил суть с Rakefile, который я использовал, чтобы исправить это, обратите внимание на conf.cc
флаги.
Других решений пока нет …