如何删除没有相应的 makeCurrent() 调用的 QOpenGLContext::swapBuffers()
How to remove QOpenGLContext::swapBuffers() called without corresponding makeCurrent()
如何在 Debug/Release 模式下的 Qt 5.4.1 中停止此警告。
QOpenGLContext::swapBuffers() called without corresponding makeCurrent()
它只出现在调试模式下,但发布模式与 VS2010 没问题。
它出现在 QtCreator 的两种模式(调试和发布)中。
我尝试了很多方法来删除它,但都没有成功,搜索了 google 但找不到任何有用的信息。
平台:Windows 8.1- VS2010- Qt_Creator Nvidia GTX 765
谢谢。
您应该修复您的代码,而不是抑制警告。如果你想从社区得到一些提示,你可以展示一个 SSCCE。
但是如果你仍然想抑制警告,你需要按照Qt documentation
认真回答:通过向 Qt 开发人员提交错误报告。在没有绑定 OpenGL 上下文的可绘制对象上调用 SwapBuffers
完全没问题。实际上 SwapBuffers
不属于 OpenGL 上下文,而是属于 window,因此将该方法放在 QGLContext
本身就是一个很大的设计失败。
个人咆哮(希望一些 Qt 开发者最终会看到它):
这些人(就像我印象中的所有其他工具包开发人员社区一样)确实需要一些关于 OpenGL 工作原理以及您应该做什么和不应该做什么的暑期学校。我知道没有任何工具包可以正确管理 OpenGL 上下文。如果开发工具包的工作量不是很大,我会去 "Fine, I'll develop my own GUI toolkit, with Blackjack and hookers…"
如何在 Debug/Release 模式下的 Qt 5.4.1 中停止此警告。
QOpenGLContext::swapBuffers() called without corresponding makeCurrent()
它只出现在调试模式下,但发布模式与 VS2010 没问题。 它出现在 QtCreator 的两种模式(调试和发布)中。
我尝试了很多方法来删除它,但都没有成功,搜索了 google 但找不到任何有用的信息。
平台:Windows 8.1- VS2010- Qt_Creator Nvidia GTX 765
谢谢。
您应该修复您的代码,而不是抑制警告。如果你想从社区得到一些提示,你可以展示一个 SSCCE。
但是如果你仍然想抑制警告,你需要按照Qt documentation
认真回答:通过向 Qt 开发人员提交错误报告。在没有绑定 OpenGL 上下文的可绘制对象上调用 SwapBuffers
完全没问题。实际上 SwapBuffers
不属于 OpenGL 上下文,而是属于 window,因此将该方法放在 QGLContext
本身就是一个很大的设计失败。
个人咆哮(希望一些 Qt 开发者最终会看到它):
这些人(就像我印象中的所有其他工具包开发人员社区一样)确实需要一些关于 OpenGL 工作原理以及您应该做什么和不应该做什么的暑期学校。我知道没有任何工具包可以正确管理 OpenGL 上下文。如果开发工具包的工作量不是很大,我会去 "Fine, I'll develop my own GUI toolkit, with Blackjack and hookers…"