如何在调试/发布模式的Qt 5.4.1中停止此警告。
QOpenGLContext::swapBuffers() called without corresponding makeCurrent()
它只出现在调试模式下,但VS2010的释放模式很好。 它出现在QtCreator的两种模式(Debug& Release)中。
我已经尝试了很多方法来删除它但没有成功,搜索谷歌但无法找到任何有用的信息。
平台:Windows 8.1- VS2010- Qt_Creator Nvidia GTX 765
感谢。
答案 0 :(得分:1)
认真回答:通过向Qt开发人员提交错误报告。在没有绑定OpenGL上下文的情况下在drawable上调用SwapBuffers
是完全没问题的。实际上SwapBuffers
不属于OpenGL上下文而是属于窗口,因此将此方法放在QGLContext
中本身就是一个很大的设计失败。
个人咆哮(希望有些Qt开发人员最终会看到它):
这些人(就像我得到的每一个其他工具包开发者社区一样)真的需要一些暑期学校,了解OpenGL如何工作以及你应该和不应该做什么。我知道没有工具包能够正确地获得OpenGL上下文管理。如果开发一个工具包并不是那么多工作我会去"很好,我会开发自己的GUI工具包,使用Blackjack和妓女......"
答案 1 :(得分:0)
您应该修改代码,而不是抑制警告。如果您想从社区获得一些提示,您可以展示SSCCE。
但如果您仍想要取消警告,则需要关注Qt documentation