0

我用当前版本的 mingw/msys (gcc 4.8.1) 更新了构建 wxWidgets2.8.12 的环境

我使用配置脚本来构建 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 ( ) 提供的 except 示例wxWidgets-2.8.12\samples\except显示了相同的错误行为

我尝试了不同版本的 wxWidgets(静态、发布、整体),结果都相同。

mingw 中的基本跨库异常支持似乎没问题,我使用这个简短的测试测试验证了这一点

我将非常感谢任何有用的提示,或者即使有人可以验证我的问题(只需在您的安装中构建“除外”示例,然后选择Throw unhandled exception

4

1 回答 1

0

您需要使用 SJLJ(而不是 Dwarf)版本的编译器才能使异常从 Windows 消息处理程序正确传播,所以我认为您的问题仅仅是由于使用了错误的版本。

于 2013-10-10T19:49:58.953 回答