【问题标题】:GLEW initialisation failedGLEW 初始化失败
【发布时间】:2012-11-17 23:15:46
【问题描述】:

我只是尝试使用 SDL 2.0 和 glew 1.9 创建一个 openGL 上下文

在构建项目时没有问题,但在调试时,GLEW 初始化失败,我该如何解决这个问题?

我正在使用 Visual Studio 2012

这是输出:

The program '[936] gravitation.exe' has exited with code -1 (0xffffffff).

这里是代码:

#include <GL/glew.h>
#include <SDL.h>
#include <iostream>

int main(int argc, char **argv)
{
    SDL_Window* window = 0;
    SDL_GLContext contextOpenGL = 0;

    SDL_Event event;
    bool terminate = false;

    GLenum initGLEW = glewInit();

    if( GLEW_OK != initGLEW )
    {
        std::cout << "initialisation error of GLEW : " << glewGetErrorString(initialisationGLEW) << std::endl;

        SDL_GL_DeleteContext(contextOpenGL);
        SDL_DestroyWindow(window);
        SDL_Quit();

        return -1;
    }

    while(!terminate)
    {
    SDL_WaitEvent(&event);

    if(event.window.event == SDL_WINDOWEVENT_CLOSE)
        terminer = true;

        glClear(GL_COLOR_BUFFER_BIT);

        SDL_GL_SwapWindow(window);
    }

    SDL_GL_DeleteContext(contextOpenGL);
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}

【问题讨论】:

    标签: c++ opengl initialization sdl glew


    【解决方案1】:

    我没有看到 OpenGL 窗口,也没有在您的代码中创建 OpenGL 上下文。初始化 GLEW 时,您需要激活 OpenGL 上下文。

    【讨论】:

    • @user1854186:如果您从教程中复制并粘贴此内容,您会漏掉一些东西。如果这是原始教程代码,那么教程是错误的。
    • 是的,你说得对,我有点太快了。这是一个愚蠢的谜:p 感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2017-12-10
    • 2018-09-17
    • 1970-01-01
    • 2018-10-13
    • 2014-03-13
    相关资源
    最近更新 更多