2

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、、、、、、、およびです。glMapBufferglUnmapBufferglBindBufferglGenBufferglDeleteBuffer

4

1 に答える 1

0

必要なのは、Linux と Windows の両方で使用する OpenGL ロード ライブラリです。これにより、対象のプラットフォームに必要なすべての機能を確実に取得できます。

から選択できるものがいくつかあり、それぞれに長所と短所があります。

于 2012-08-28T12:34:35.683 に答える