我在使用VS2012在Windows 8 64bit上设置GLUT(从Nate Robins获得的3.7.6二进制文件)时遇到了麻烦。将glut32.dll复制到SysWOW64目录,在我的项目文件中设置include和lib路径,并在Linker->输入设置中设置库(“...; glut32.lib; glu32.lib; opengl32的.lib; ...“)
我的代码如下所示:
#include <GL/glut.h>
void display()
{
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutDisplayFunc(display);
glutMainLoop();
}
构建过程成功但应用程序崩溃时出现以下错误消息:
HelloOpenGL.exe中0x1000BBAE(glut32.dll)的未处理异常:0xC0000005:访问冲突写入位置0x000000A8。
设置似乎相当简单。我缺少什么想法?
答案 0 :(得分:2)
在没有打开窗口的情况下调用glutDisplayFunc()
导致崩溃。这是更新的代码,在传递显示功能之前打开一个新窗口:
#include <GL/glut.h>
void display()
{
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
//Set Display Mode
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
//Set the window size
glutInitWindowSize(250,250);
//Set the window position
glutInitWindowPosition(100,100);
//Create the window
glutCreateWindow("Hello OpenGL");
//Set the display function
glutDisplayFunc(display);
//Enter the main loop
glutMainLoop();
}