Когда исключение выходит из функции в DLL, среда выполнения mingw32 просто вызывает terminate std :: surprise вместо передачи исключения в код, вызывающий DLL.Какие есть решения этой проблемы?DLL и вызывающее ее приложение скомпилированы с помощью одного и того же компилятора.
Существует два разных механизма исключения, поддерживаемых mingw32: SJLJ и Dwarf2.Должен ли один из них работать лучше, чем другой для этого?Возможно, единственный вариант - это переключиться на MSVC или ICC, или, может быть, поможет изменение только параметров сборки?
Обратите внимание, что даже catch (...) не поймает любое исключение, даже встроенные типы (throw 1;), поэтому речь не идет о видимости типа исключения.