Windows下Qt中的异常(mingw)

Windows下Qt中的异常(mingw),qt,exception,static,mingw,Qt,Exception,Static,Mingw,我正在编写一个使用Qt的应用程序,我想让Windows用户可以使用它。我在用mingw。我想用-exceptions和-static配置Qt。这可能吗?我在一篇博客上发现了一篇文章,指出使用mingw和异常的静态构建将导致内存泄漏: 我的一些代码抛出异常,这些异常应该在代码的GUI部分通过显示错误对话框来处理(意思是:我不想从代码中删除所有异常) 我试图用静态和异常两种方式构建Qt,但它似乎不起作用(当我试图编译代码时,仍然收到关于异常的错误消息)。我不排除我把事情搞砸的可能性,但是如果这些选

我正在编写一个使用Qt的应用程序,我想让Windows用户可以使用它。我在用mingw。我想用-exceptions和-static配置Qt。这可能吗?我在一篇博客上发现了一篇文章,指出使用mingw和异常的静态构建将导致内存泄漏:

我的一些代码抛出异常,这些异常应该在代码的GUI部分通过显示错误对话框来处理(意思是:我不想从代码中删除所有异常)


我试图用静态和异常两种方式构建Qt,但它似乎不起作用(当我试图编译代码时,仍然收到关于异常的错误消息)。我不排除我把事情搞砸的可能性,但是如果这些选项是互斥的,在我花一整天的时间再次编译Qt之前,最好先知道。谢谢

一般来说,您不应该让任何异常从代码泄漏到Qt事件循环。也就是说,如果您调用一个可能引发异常的方法,那么您也必须在代码中捕获异常(并且可能发出信号或直接调用某个通用方法来打开对话框窗口或其他任何东西)。是的,这就是想法。但是假设我捕获并处理所有异常,那么我在mingw、Qt和静态构建中是否仍然存在问题?您不需要使用-exceptions配置选项在代码中使用异常。我总是这样做。就像海德说的,只要不要让异常退出你的代码,你就会没事的。太好了,谢谢。总的来说,似乎每个解释如何静态构建Qt应用程序的教程/维基都说构建Qt很重要,没有例外。。。但我上面提到的那个博客是我发现的唯一能解释原因的东西。最后,我决定使用共享库构建,但我没有注意到静态构建有任何问题。