Visual Studio 2008 с Vista, проекты GLUT выдает ошибку во время выполнения

Я уверен, что с моим проектом все в порядке. Потому что я попробовал его на своем бывшем компьютере с Visual Studio 2005 и Windows XP Pro, и он работает без ошибок.

Я могу скомпилировать свой проект. На этапе сборки ошибок нет. Но когда я пытаюсь запустить свой проект, он говорит "*.exe перестал работать".

Затем я запустил его в режиме отладки. Я видел, что это приводит меня к линии в glut.h

static int APIENTRY glutCreateWindow_ATEXIT_HACK(const char *title)
 { 
return __glutCreateWindowWithExit(title, exit); 
}

Я действительно не понимаю, почему это не работает..

Я скопировал glut32.dll в C: \ Windows \ System32
glut.h в C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL
и glut32.lib для C:\Program Files\Microsoft Visual Studio 9.0\VC\lib

2 ответа

Решение

Вы пытались отключить DEP (предотвращение выполнения данных) в своем приложении?
Щелкните правой кнопкой мыши на моем компьютере и зайдите в настройки виртуальной памяти. На вкладке DEP добавьте свое приложение в список игнорируемых.
Вам может понадобиться новый glut.h или переписать свой. Т.е. другая библиотека GLUT.

Я часто вижу подобные ошибки - какие еще файлы вы включаете? Попробуйте включить "glut.h" до или после всех остальных заголовков. Также, если вы включаете glut.h, вам не нужны gl.h или glu.h - они включаются автоматически.

По какой-то причине glut.h не очень хорошо работает с другими заголовками. Может быть более технический ответ на вопрос или лучшее решение, но изменение порядка всегда работало для меня!

Другие вопросы по тегам