1

Windows の crt に静的にリンクされている OpenGL ライブラリを取得 (またはソースからビルド) したいと考えています。

実行可能ファイルに OPENGL32.dll を要求したくありません。

私のコンパイラは Visual C++ 9 です。

どこから始めればよいですか?OpenGL の Web サイトから、この wiki に誘導されますhttp://www.opengl.org/wiki/Getting_started しかし、その wiki には、「3 つの主要なデスクトップ プラットフォーム (Linux、MacOS X、および Windows) のすべてで、OpenGL は多かれ少なかれ、システム"。私はWindowsを使用しています。この声明は本当ですか。これを確認するにはどうすればよいですか?

4

2 に答える 2

5

Windows で静的にリンクされた OpenGL ライブラリ

実行可能ファイルに OPENGL32.dll を要求したくありません。

不可能。話の終わり。opengl32.dll は Microsoft によって提供され、各システム アップデート後に変更される可能性があります。したがって、静的リンクはできません。これはシステム コンポーネントです。

CPU上でOpenGLをエミュレートするmesa3dとのみスタティックリンクできます。ただし、OpenGL に完全に準拠しているわけではないため、予期しない問題が発生する可能性があり、それでもいくつかのシステム dll が必要になります。(私の賭けは gdi32.dll です)。また、通常の OpenGL に比べてパフォーマンスが非常に悪くなります。

于 2012-05-02T18:34:24.953 に答える
1

あなたが言っていることは、アプリケーションをCランタイムライブラリと動的にリンクさせたくないということだと思います(つまり、プロパティ/ C ++ /コード生成/ランタイムライブラリ設定のマルチスレッドDLLまたはマルチスレッドデバッグDLL)。

OpenGLはシステムが提供する.DLLであるため、OpenGLを使用する場合は、ランタイムライブラリにマルチスレッドまたはマルチスレッドデバッグ(どちらも静的にCランタイムにリンクします)を自由に選択できます。

于 2012-05-02T16:14:39.357 に答える