У меня раздражающая и, к сожалению, насущная проблема. Я начал с попытки создать подкласс QGLWidget для моего приложения Windows в Visual Studio 2008 x86. Насколько я мог судить, он сразу же запустился при запуске, когда был создан экземпляр QGLWidget. Наконец, я закончил тем, что попробовал все включенные примеры Qt для Open GL, и все они ведут себя одинаково - сбой следующим образом:
Появляется сообщение об ошибке:
"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]: HEAP: бесплатно
Блок кучи a40c108, модифицированный на a40c288
после освобождения Windows
вызвал точку останова в
2dpainting.exe.
Это может быть связано с повреждением
куча, которая указывает на ошибку в
2dpainting.exe или любой из библиотек DLL это
загрузил ...
Также происходит, когда я переключаюсь с отладки на релиз. Тем не менее, я могу нормально запускать большинство этих скомпилированных исполняемых файлов на примере Open GL
Я не могу найти что-либо с помощью интернет-поиска. Гуру, помогите пожалуйста!
Спасибо,
Matt