glewInit 失败:缺少 GL 版本
Posted
技术标签:
【中文标题】glewInit 失败:缺少 GL 版本【英文标题】:Failed glewInit: Missing GL version 【发布时间】: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 并重试。
【参考方案1】:
非常愚蠢的错误
我写的
glfwWindowHint(GLFW_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_VERSION_MINOR, 3);
我应该有
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
【讨论】:
以上是关于glewInit 失败:缺少 GL 版本的主要内容,如果未能解决你的问题,请参考以下文章