Visual studio 2010 OpenGL程序可以在GL3.x中工作,但不能在4.x中工作

Visual studio 2010 OpenGL程序可以在GL3.x中工作,但不能在4.x中工作,visual-studio-2010,opengl,hardware,Visual Studio 2010,Opengl,Hardware,在这个问题的前言中,我是openGL和Visual Studio的新手,所以我可能遗漏了一些非常明显的东西。我正在学习一个openGL教程,它应该设置一个基本窗口,显示您正在使用的openGL版本的信息 | 作为参考,我在NVidia GTX670m的64位Windows 7上运行VS2010。当我指定样板程序在openGL v3.x中运行时。它运行得很好。当我指定它在v4.x中运行时。它会因以下输出而崩溃(问题将在后面继续): 在谷歌搜索这个问题时,我看到一些人建议从“调试”菜单中的MS服务

在这个问题的前言中,我是openGL和Visual Studio的新手,所以我可能遗漏了一些非常明显的东西。我正在学习一个openGL教程,它应该设置一个基本窗口,显示您正在使用的openGL版本的信息

|

作为参考,我在NVidia GTX670m的64位Windows 7上运行VS2010。当我指定样板程序在openGL v3.x中运行时。它运行得很好。当我指定它在v4.x中运行时。它会因以下输出而崩溃(问题将在后面继续):

在谷歌搜索这个问题时,我看到一些人建议从“调试”菜单中的MS服务器中提取符号,并关闭将警告视为错误的选项。我两次都试过了,但程序还是崩溃了。即使没有,我觉得我还是应该调查原因

假设:NVidia将GTX670列为支持OpenGL4.x。它没有明确地说670m是受支持的,但我假设如果常规670是,那么移动版本是


问题:如果程序在openGL v3.x上运行良好,并且我的硬件应该支持openGL v4.x,是什么导致我的程序崩溃?

您的程序没有崩溃。某些逻辑中的条件可能不满足,导致另一个分支运行,但它确实运行到完成


除了最后一行之外,您发布的输出与您的“问题”没有任何关系,这表明代码输入了一个分支,该分支以
ExitProcess(1)
return EXIT\u FAILURE

结束,感谢大家的帮助。我最后在另一台机器上运行了这个,没有遇到问题。要么我的笔记本电脑规格有问题,要么freeglut支持OpenGL 4.1。有时存在差异,所以不要总是假设。根据这个问题,我们可以看到一些代码来确保GL4扩展被正确加载吗?您正在使用Visual Studio。您是否尝试调试应用程序以查看其崩溃的确切位置?@Jesus Ramos,您在哪里找到记录的?我试图寻找手机的具体规格,但我想我找错地方了。Nicol Bolas我不是调试高手,但我现在正在尝试。我会看看我是否想出了什么办法。@Nicol Bolas所以在下面截取的代码中,我在赋值和if语句上设置了一个断点。如果是int<1,则glutCreateWindow失败。当我用openGL 3测试时,函数返回一个1到WindowHandle,程序正确执行。在openGL 4中,程序在调用glutCreateWindow WindowHandle=glutCreateWindow(窗口标题前缀)时崩溃;如果(WindowHandle<1){fprintf(stderr,“错误:无法创建新的渲染窗口。\n”);exit(exit_FAILURE)}我仍在尝试搜索答案,但我不知所措。我的建议是使用GLEW初始化GL4扩展,以防导致失败,同时确保您的OpenGL版本设置为4.1或4.0。
'Engine.exe': Loaded 'D:\Engine\Engine\Release\Engine.exe', Symbols loaded.
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\freeglut.dll', Binary was not built with debug information.
'Engine.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\opengl32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\glu32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ddraw.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\dciman32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Symbols loaded.
'Engine.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\msvcr100.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\nvinit.dll', Cannot find or open the PDB file
'Engine.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Program Files (x86)\Common Files\Spigot\Search Settings\wth159.dll', Cannot find or open the PDB file
'Engine.exe': Loaded 'C:\Windows\SysWOW64\psapi.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ig7icd32.dll', Cannot find or open the PDB file
'Engine.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Symbols loaded (source information stripped).
'Engine.exe': Unloaded 'C:\Windows\SysWOW64\version.dll'
The program '[7332] Engine.exe: Native' has exited with code 1 (0x1).