2016-09-06 6 views
-1

visualstudioのopenglで奇妙な問題を抱えています。リリースモードでプログラムをビルドすると、すべてのOpenGL関数がNULLを指しています。SDL OpenGLアプリケーションがリリースモードでクラッシュする

私はGLEW試してみましたが、それらのどれも動作しないgl3w

GLEW/gl3wコンテキストを作成し、デバッグモードでは、それが正常に動作された後に初期化され

プロジェクトの設定は、私だけ含まれたフォルダを含むデフォルトですとそれぞれのlibフォルダ

誰も似たような問題がありましたか?

リリースモードでコンパイルを取得するつもりはない
#include<SDL.h> 
#include<GL\glew.h> 
#include<assert.h> 

int main(int argc, char* args[]) 
{ 
    SDL_Init(SDL_INIT_VIDEO); 

    SDL_Window *window; 
    SDL_GLContext context; 

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4); 
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); 
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); 
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); 
    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); 

    window = SDL_CreateWindow("Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1280, 720, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN); 
    context = SDL_GL_CreateContext(window); 
    SDL_GL_MakeCurrent(window, context); 
    glewExperimental = GL_TRUE; 
    assert(!glewInit()); 

    GLuint id; 
    glGenVertexArrays(1, &id); 

    SDL_Quit(); 
    return 0; 
} 
+0

私のポストにdownvotingしてくれてありがとうbtw im new – Creysys

+0

GLEW/GL3Wの読み込み方法、プロジェクトの設定などについて教えてください。定義されていない動作が発生しているか、プロジェクト設定が正しく構成されていないことを意味します。 – HexCoder

+0

追加のインクルード/ライブラリを除くデフォルトのプロジェクトオプションを使用します – Creysys

答えて

2
assert(!glewInit()); 

。したがってglewInit()は呼び出されず、glGenVertexArrays()はNULLのままです。

NULL関数ポインタを呼び出すと、通常は機能しません。

+0

ありがとう、今私はすべてのコンパイラオプションを試してみると馬鹿感があります^^ – Creysys

関連する問題