私は Ubuntu を使用しており、OpenGL、GLEW、および GLFW を使用してアプリケーションを作成しています。IDE として Eclipse を使用していますが、glGenRenderbufferなどの関数を使用しようとすると問題が発生します。Windows で非常によく似た構造をセットアップしましたが、Linux で動作させることができません。
ライブラリglfwおよびGLEWにリンクしています。アプリケーションの一部をコンパイルして実行でき、GLFW と GLEW の両方を初期化できます。これらのテストの実行から、次のことがわかりました。
OpenGL version: 4.2.0 NVIDIA 304.64
Using GLEW 1.6.0
ただし、関数glGenRenderbuffer (またはその他のフレームバッファー関数) をコンパイルすることができません。名前に EXT と ARB の両方を追加しようとしましたが、運が悪くて glex.h をいじってみました。私の知る限り、GLEW の目的はすべての拡張機能の問題を処理することですよね?
ソース ファイル ( VolumeRenderer.cpp ) のインクルードは次のように行われます。
#include <glm/gtc/matrix_transform.hpp>
#include <VolumeRenderer.h>
#include <GL/glew.h>
#include <GL/glfw.h>
さらに下に、私はこのような関数を使用しようとしています (もちろん、部分的に完全な関数のみ):
bool VolumeRenderer::InitFramebuffers()
{
glGenRenderbuffers(1, &renderBufferObject_);
return true;
}
私が得るのは、「関数 'glGenRenderBuffers' を解決できませんでした」だけです。
私が含めている GL/glew.h ヘッダーを見ると、次の行が見つかりました。
#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers)
#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT)
しかし、コンパイラはまだ関数を見つけることができません。何か忘れていることはありますか? または、何が起こっているかを確認するために実行できるテストやチェックがありますか?