Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ glfwCreateWindow()在设置窗口提示后不工作_C++_Opengl_Glew_Glfw - Fatal编程技术网

C++ glfwCreateWindow()在设置窗口提示后不工作

C++ glfwCreateWindow()在设置窗口提示后不工作,c++,opengl,glew,glfw,C++,Opengl,Glew,Glfw,我正在学习一个教程,它使用glfwWindowHint()设置他正在使用的GLFW的版本。他在OSX上,我在Windows上。我的密码和他的一模一样。当我这样做时: glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); gl

我正在学习一个教程,它使用
glfwWindowHint()
设置他正在使用的GLFW的版本。他在OSX上,我在Windows上。我的密码和他的一模一样。当我这样做时:

glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
然后这个:

GLFWwindow* window = glfwCreateWindow(640, 360, "Modern OpenGL", NULL, NULL);
它总是返回
NULL
。但是在教程中,他说设置窗口提示对于使用程序使用的代码是必要的。当我取出窗口提示时,窗口创建成功,但随后崩溃(因为其他代码可能需要更改窗口提示)


我使用的是Windows XP。如何修复此问题?

有趣的是,此代码在OSX上应始终返回NULL,因为OSX仅在核心配置文件中支持OpenGL>=3,而此代码请求兼容配置文件


在Windows上,可能支持该版本的兼容性配置文件。但这将取决于GPU和您安装的驱动程序。很可能您的系统根本不支持GL3.2。确保您使用的是最新的驱动程序。并检查您的GPU实际支持的GL版本。您可以尝试将
GLFW\u OPENGL\u FORWARD\u COMPAT
提示设置为
GL\u FALSE

GL版本为2.0.6747。至于司机,我不知道怎么弄到。这是否包含在我购买的PC文档中?对于“现代”台式机上的GL 3.x,您需要nVidia Geforce 8系列(2006年推出)或更好的(Gefroce 9,GTS/GTX/…),ATI/AMD Radeon HD2000(2006年推出)或更好的或Intel HD 2000(2011年与Sandy Brdige一起推出),或更好的。因此,如果您有一个GPU,您可以尝试获取驱动程序更新。如果没有,则无法获得hw加速GL 3.x。