私は 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