I have missing opengl32 library (more details: mingw32 w64 missing OpenGL32 lib). I have several questions related to this library:
Why I need opengl32 static library ( I have .dll)?
It provides the symbol table for the linker. The symbol table tells the linker which functions are provided by the library, so that the linker knows how to tie the symbols used in the program, to the libraries linked.
Note that on other OSs than windows, the "DLL" does also provide the symbol tables.
Why video card vendors does not provide this library?
Because the library is part of the OS interfaces to the driver system
Who should provide it?
The DLL: The OS vendor. The symbol table library: The compiler vendor.
Is there a source code of opengl32 library?
OpenGL itself is just a specification. What you have on your computer is a implementation and a interface. The interface is part of the OS. Hence on closed source OSs there is no source code available, but on open source OSs there is.
Why I need GLEW or other GL library implementations (to use all features of OpenGL) if there is opengl32?
opengl32.dll is just a interface to the driver system. This interface needs to be the smallest common denominator of OpenGL features, so that a wide range of OpenGL versions and capabilities can be offered through a common interface. However you also want to be able to access newer, and bleeding edge features, for which the extension mechanism exists.
Why opengl32 cannot have all required GL implementation?
opengl32.dll is part of the operating system and if it were part of the OS, then every new version of OpenGL would require a OS update. This is, in fact, the situation of MacOS X.
Also the OpenGL implementation is part of the driver, not the DLL.
gl... functions) and Microsoft-specific (wgl ones at least). The publicly-known ones don't vary between vendors.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With