8

これらのエラーが発生するのはなぜですか?

エラー: 'GL_VERTEX_SHADER' はこのスコープで宣言されていません
エラー: 'glCreateShader' はこのスコープで宣言されていません

コード:

GLuint vs = glCreateShader(GL_VERTEX_SHADER);

はい、私は大食いするためのインクルードを持っています。

4

3 に答える 3

7

何をglGetString(GL_VERSION)返しますか?

CreateShaderGLUTではなくOpenGL 2.0です。"includes to glut" がgl.h何らかの理由でインクルードされていない場合、または GL バージョンが 2.0 未満の場合、ヘッダーはそれを宣言しません。

が実際にそこで宣言されているgl.hかどうかも確認します。CreateShader

編集: この OpenGL ヘッダー バージョンの問題は、Windows の一般的な問題のようです。ほとんどの人は、GLEWまたは別の拡張ローダー ライブラリを使用して回避することを提案しています。

于 2012-08-15T00:34:22.857 に答える
3

OpenGL ローディング ライブラリを使用してOpenGL 関数をロードするか、自分で手動で関数をロードする必要があります。gl.hただ使ってすべてを手に入れることを期待することはできません。

于 2012-08-15T01:10:48.843 に答える