1

私は GLFW と Netbeans を使用して C++ で開発しています。即時モード機能で問題なくレンダリングできます。ただし、コア プロファイル関数を使用しようとすると、次のようなエラーが発生します。

error: ‘glCreateShader’ was not declared in this scope

試したコアプロファイル関数ごとに、これらのエラーのいずれかが発生します。私はいくつかの調査を行い、GLFW は gl ヘッダーを提供せず#include、私のシステム (/usr/include/GL/) で見つかったヘッダーのみを提供することを発見しました。

おそらくこれは、ここにある gl.h および関連ファイルには古いスタイルの OpenGL API しか含まれていないことを意味します。16 進コードの意味がわかりませんが、gl.h ファイル#defineの GL_VERSION は 0x1F02 です。

ターミナルでこのコマンドを実行glxinfo | grep -i openglすると、OpenGL バージョンの文字列が「4.2.0 NVIDIA 304.88」であることが保証されますが、それはドライバーに反映されていると思いますが、gl.h ファイルとは関係ありません。私のアプリケーションの C++ コードでこの行を実行すると、同じ文字列が生成されますprintf("%s\n", glGetString(GL_VERSION));。同じ理由で、間違いありません。

Ubuntu 13.04 x64 で OpenGL 3+ を開発するための適切な OpenGL ヘッダー ファイルはどこで入手できますか?

ほとんどのチュートリアルで提案されているように、これらのパッケージをインストールしました(無駄に):xorg-dev libglu1-mesa-dev

4

1 に答える 1