1

我想获取(或从源代码构建)静态链接到 Windows 上的 crt 的 OpenGL 库。

我不希望我的可执行文件需要 OPENGL32.dll。

我的编译器是 Visual C++ 9。

我从哪里开始?OpenGL 网站将我引导到这个 wiki http://www.opengl.org/wiki/Getting_started 但是那个 wiki 告诉我“在所有三个主要的桌面平台(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 回答