用户回调期间OpenGL Freeglut 2.8.1未处理的异常

时间:2014-03-12 05:43:21

标签: exception opengl callback visual-studio-2013 freeglut

我自己学习OpenGl,我跟随:http://www.lighthouse3d.com/tutorials/glut-tutorial/initialization/

我使用Visual Studios 2013和freeglut版本2.8.1,预先打包:http://www.transmissionzero.co.uk/software/freeglut-devel/

我的代码现在只是示例中的代码的副本:

#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

void renderScene(void) {

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glBegin(GL_TRIANGLES);
    glVertex3f(-0.5,-0.5,0.0);
    glVertex3f(0.5,0.0,0.0);
    glVertex3f(0.0,0.5,0.0);
glEnd();

    glutSwapBuffers();
}

int main(int argc, char **argv) {

// init GLUT and create Window
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(320,320);
glutCreateWindow("Lighthouse3D - GLUT Tutorial");

// register callbacks
glutDisplayFunc(renderScene);

// enter GLUT event processing cycle
glutMainLoop();

return 1;
}

我的错误:

  

OpenGL.exe中0x1056131C(ig4icd32.dll)的未处理异常:0xC000041D:在用户回调期间遇到未处理的异常。

调用堆栈:

OpenGL.exe!glutCreateWindow_ATEXIT_HACK(const char * title) Line 616    C++
OpenGL.exe!main(int argc, char * * argv) Line 30    C++

freeglut_std.h(这是我休息时发生的行):

 #define glutInit glutInit_ATEXIT_HACK
 static int FGAPIENTRY FGUNUSED glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }

我已经能够确定造成错误的原因。更多信息,我使用Visual Studio的项目属性工具来进行链接。附加包含的include文件夹,附加包含的lib文件夹。我将freeglut.lib添加到其他依赖项中。我将freeglut.dll放在Visual Studio创建的调试文件夹中的.exe文件夹中。

我已经尝试过#define GLUT_DISABLE_ATEXIT_HACK,但是没有用。我不确定从哪里开始。

最后一些其他信息,因为我感觉它可能也没有帮助。 我正在运行Windows 8.1,我有英特尔集成芯片组家族4,它没有8.1驱动程序。

0 个答案:

没有答案