我有一個惱人的,不幸的是迫切的問題。我開始嘗試在Visual Studio 2008 x86中爲我的Windows應用程序繼承QGLWidget。它在運行時立即崩潰,據我所知,當QGLWidget被實例化時。最後,我結束了試圖對Open GL的一切包括Qt的例子,它們都具有相同的行爲 - 崩潰如下:Tricky的Qt/OpenGL的錯誤 - 一切崩潰
錯誤信息彈出:
「Windows已經引發了斷點 2dpainting。 exe文件...」
執行在qgl_win.cpp暫停(斷點表示):
QGLTemporaryContext::~QGLTemporaryContext()
{
wglMakeCurrent(d->dmy_pdc, 0);
wglDeleteContext(d->dmy_rc);
ReleaseDC(d->dmy_id, d->dmy_pdc);
DestroyWindow(d->dmy_id);
--> if (d->old_dc && d->old_context)
wglMakeCurrent(d->old_dc, d->old_context);
}
輸出:
... HEAP [2dpainting.exe]:堆:在a40c288 修改免費 堆塊a40c108之後被釋放Windows已經 在 2dpainting.exe觸發一個斷點。
這可能是由於 堆,這表明在 2dpainting.exe或任何其 已加載的DLL的錯誤的腐敗......
也發生在我從調試開關釋放。不過,我可以運行大部分這些Open GL示例編譯的可執行文件。 我無法通過互聯網搜索找到任何東西。大師,請幫忙!
謝謝, 馬特
我已經在Windows(XP,Vista,7)上使用了子類QGLWidgets,從來沒有這個問題。我使用QtCreator,爲什麼不嘗試使用它來查看會發生什麼? – 2011-04-02 00:29:27
並編輯您正在使用的Qt,Windows版本。這不是32位與64位不兼容的問題嗎? – 2011-04-02 00:29:56
解決了我自己 - 感謝您的意見。 – 2011-04-02 01:33:41