我使用当前版本的mingw / msys(gcc 4.8.1)更新了构建wxWidgets2.8.12的环境
我使用configure脚本构建wx-widgets:
./configure --prefix=/wx --with-opengl --enable-debug --enable-debug_gdb --enable-unicode
我的应用程序依赖于在我的wxApp::OnExceptionInMainLoop
子类中使用wxApp
处理一些异常。
使用mingw gcc 3.4.5和wxWidgets2.8.7(由wxPack预先构建)可以正常工作
使用新的构建wxWidgets库,无论何时抛出异常并且没有直接捕获该程序,程序都会显示“Microsoft Visual C ++运行时库”窗口,并以代码3退出
wxWidgets 2.8.12(wxWidgets-2.8.12\samples\except
)提供的例外显示同样的错误行为
我尝试了不同版本的wxWidgets(静态,发布,单片),结果相同。
mingw中的基本跨库异常支持似乎没问题,我使用这个简短的测试验证了这一点test
我会非常感谢任何有用的提示,
或者即使有人可以验证我的问题(只需在您的安装中构建“除”样本,然后选择Throw unhandled exception
)
答案 0 :(得分:0)
您需要使用SJLJ(而不是Dwarf)版本的编译器才能从Windows消息处理程序正确传播异常,因此我认为您的问题仅仅是由于使用了错误的版本。