我想从Windows上获取(或从源代码构建)静态链接到crt的OpenGL库。
我不希望我的可执行文件需要OPENGL32.dll。
我的编译器是Visual C ++ 9。
我从哪里开始? OpenGL网站指导我访问此wiki http://www.opengl.org/wiki/Getting_started 但是wiki告诉我“在所有三个主要的桌面平台(Linux,MacOS X和Windows)中,OpenGL或多或少都带有系统”。 我在Windows上。这句话是否属实。我该如何验证?
答案 0 :(得分:3)
Windows上静态链接的OpenGL库
我不希望我的可执行文件需要OPENGL32.dll。
不可能。故事结局。 opengl32.dll由microsoft提供,可能会在每次系统更新后更改。所以你不能静态链接它 - 它是一个系统组件。
您只能与mesa3d进行静态链接,以模拟CPU上的OpenGL。但是,它并不完全符合OpenGL,因此您可能会遇到意外问题,并且您仍然需要多个系统dll。 (我的赌注是gdi32.dll)为您的应用程序。此外,与普通的OpenGL相比,性能会非常糟糕。
答案 1 :(得分:1)
我相信你所说的是你不想被迫动态地与C运行时库建立应用程序链接(即属性/ C ++ /代码生成/运行时库设置中的多线程DLL或多线程调试DLL) )。
由于OpenGL是一个提供.DLL的系统,因此在使用OpenGL时,您仍然可以自由选择运行时库中的多线程或多线程调试(两种选择静态链接到C运行时)。