C++ glfwGetGLVersion失败?

C++ glfwGetGLVersion失败?,c++,opengl,glfw,C++,Opengl,Glfw,在试图找出我使用的OpenGL版本类型时,我遵循了以下建议: 我有以下代码: int major, minor, rev; glfwGetGLVersion(&major, &minor, &rev); fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev); 我得到以下输出: OpenGL version recieved: 2130567168.6.0 OpenGL versi

在试图找出我使用的OpenGL版本类型时,我遵循了以下建议:

我有以下代码:

int major, minor, rev;
glfwGetGLVersion(&major, &minor, &rev);
fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev);
我得到以下输出:

OpenGL version recieved: 2130567168.6.0
OpenGL version recieved: 0.0.0
我认为这是某种初始化问题,因此我调整为:

int major=0, minor=0, rev=0;
glfwGetGLVersion(&major, &minor, &rev);
fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev);
并收到以下输出:

OpenGL version recieved: 2130567168.6.0
OpenGL version recieved: 0.0.0
我一点也不知道我在这里做错了什么。有什么想法吗

解决了它。我必须在GLFW启用OpenGL上下文后放置版本查询。


这是有道理的,但从学习者的角度来看有点愚蠢,因为上面链接的示例建议首先使用它来建立上下文。

尝试使用
glGetString(GL\u版本)


它不会按原样编译,因此需要将其更改为常量GLubyte才能工作。运行时,它不会打印任何内容。不是0或NULL,只是…没什么。对不起,我看错了文件。你能告诉我你在运行什么代码吗?如果你使用C++,你可能需要做某种类型的打印来打印<代码> char */COD>,因为 OSWATE/<代码>没有<代码>操作程序。如果你想出来,你应该把它写在答案中,然后接受它,这样别人就可以很容易地找到你的解决方案。上面说我要等7个小时才能回答我自己的问题。