OpenGLに対してリンクするコードをコンパイルしようとしています。もともとはLinux用に開発されたので、Windows(7)の場合はMinGWでコンパイルしています。
MinGWには、Windowsライブラリ(opengl32.dll
およびglu32.dll
)をラップアラウンドするOpenGLヘッダーとライブラリが含まれていますが、コードには新しいOpenGL機能への呼び出しが含まれており、コンパイルに失敗します。MinGWのヘッダー(古いバージョンのMesa3dのヘッダー、OpenGL 1.1をサポート)を最新のMesa3dに置き換えると、ある程度の成功が見られました。コンパイルされますが、ライブラリにまだシンボルがないため、リンクは失敗します(コンパイラをWindows OpenGLライブラリに直接指定しても違いはありません)。グラフィックハードウェア(Nvidia 560M)が最新のOpenGL標準をサポートしていることを確認しました(実際、同じマシン上のLinuxで動作します)。
NvidiaのSDKをインストールしようとしましたが、最新バージョンにはDirect3dしか含まれておらず(オプションではありません)、ダウンロード用の古いバージョン(OpenGLをサポートしていた)は提供されていません。
私はこれを正しい方法で進めていますか?実際にNvidiaのSDKが必要ですか、それとも適切なライブラリにリンクするために他に何かすべきことがありますか?
編集:リンクされている特に欠落している関数はglBufferData
、、、、、、、およびです。glMapBuffer
glUnmapBuffer
glBindBuffer
glGenBuffer
glDeleteBuffer