当一个异常退出DLL中的函数时,mingw32运行时只是简单地调用
终止
std :: unexpected而不是将该异常传播到调用该DLL的代码。这个问题有什么解决方案? DLL和调用它的应用程序都使用相同的编译器进行编译。捕获从DLL中抛出的异常
mingw32支持两种不同的异常机制:SJLJ和Dwarf2。如果他们中的一个比另一个更好地工作?也许唯一的选择是切换到MSVC或ICC,或者更改构建选项可以帮助吗?
请注意,甚至没有捕获(...)将捕获任何异常,甚至没有内置类型(抛出1;),所以它不是关于异常类型的可见性。
有趣。可能每个库都有静态链接的C++运行时? – sharptooth 2010-11-09 13:24:07