失败的 glewInit:缺少 GL 版本

Failed glewInit: Missing GL version

本文关键字:GL 版本 缺少 glewInit 失败      更新时间:2023-10-16

我开始在课程中学习OpenGL。下载 glew-2.1.0(64( 和 glfw-3.2.1(64(。像连接的所有内容一样,IDE 不发誓,但初始化会在命令行中生成以下输出:

初始化 GLEW 时出错:缺少 GL 版本

#include <iostream>
#define GLEW_STATIC
#include <GL/glew.h>
// GLFW
#include <GLFW/glfw3.h>
const char* APP_TITLE = "Introduction in modern openGL";
const int gWindowWidth = 800;
const int gWindowHeight = 600;
int main()
{
    if (!glfwInit())
    {
        std::cerr << "Failed in initialization GLFW" << std::endl;
        return -1;
    }
    glfwWindowHint(GLFW_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 
    GLFWwindow* pWindow = glfwCreateWindow(gWindowWidth, gWindowHeight, APP_TITLE, NULL, NULL);
    if (pWindow)
    {
        std::cerr << "Failed in create Windows" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(pWindow);
    glewExperimental = GL_TRUE;
    GLenum err = glewInit();
    if (GLEW_OK != err)
    {
        std::cerr << "Error initialization GLEW: " << glewGetErrorString(err) << std::endl;
        glfwTerminate();
        return -1;
    }
    while (!glfwWindowShouldClose(pWindow))
    {
        glfwPollEvents();
        glfwSwapBuffers(pWindow);
    }
    glfwTerminate();
    return 0;
}

问题出在哪里?我在互联网上搜索了一下,但有针对此类问题的解决方案:

add glfwMakeContextCurrent(game_window(; before glewInit((

非常愚蠢

的错误

我写了

glfwWindowHint(GLFW_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_VERSION_MINOR, 3);

我应该有

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);  
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);