【问题标题】:Failed glewInit: Missing GL versionglewInit 失败:缺少 GL 版本
【发布时间】:2018-04-06 11:34:34
【问题描述】:

我在课程中开始学习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;
}

有什么问题?我在网上搜索,但是有解决该类型问题的方法:

添加 glfwMakeContextCurrent(game_window);在 glewInit() 之前

【问题讨论】:

  • 如何在项目中添加glew,使用源代码还是已经编译好的库?
  • @Ripi2,已经编译好的库
  • 然后评论#define GLEW_STATIC这一行并重试。看看glew doc
  • @Ripi2 link
  • 提供的库似乎不兼容,可能是因为它们是 32 位而不是您的 64 位环境。删除它们,将 glew 源添加到您的项目中,启用 GLEW_STATIC 并重试。

标签: c++ opengl glfw glew


【解决方案1】:

非常愚蠢的错误

我写的

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

我应该有

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多