Where to get an up-to-date OpenGL32.lib?
Asked Answered
P

1

14

this one drives me crazy. I've been searching for two days but cant find any answer. I want to develop some things with OpenGL 3 (or newer) with Visual Studio 2010 / C++.

The header and libraries provided by Microsoft are way too old to support OpenGL 3, so I'm trying to find newer versions. I easily found the header file in the OpenGL registry (http://www.opengl.org/registry/) but I cant find the OpenGL32.lib anywhere. How am I supposed to link a program without it?

Pashalik answered 21/12, 2012 at 8:12 Comment(3)
Have a look at this. The newer version is supplied via the drivers of your GPU vendor.Prebendary
Fixed link from above: openglbook.com/chapter-1-getting-started.htmlToscana
Does this answer your question? How to make OpenGL apps in 64-bit Windows?Subsonic
P
13

There isn't a newer OpenGL library for windows, and there won't be. They decided to stop at OpenGL 1.1 and even call it a legacy graphics.

However, you can use load opengl function, and that is how people get access to the latest opengl features.

You can also use GLEW library to get access to the opengl functions.

Plainsman answered 21/12, 2012 at 8:19 Comment(6)
I was hoping for a different answer, but yes, its answers it :)Pashalik
@Chuck: What answer would you have expected? BTW: I'm seriously considering in developing such a library, you could just link instead of jumping through extension loader hoops or similar. Just an alternative opengl.lib, that piggybacks on the system OpenGL installation and provides all newer functionality as just a library.Morice
I wished someone could have given me a link to download that missing .lib. I don't understand all the mechanics of it (yet), but I'm wondering why nobody else (apart from Microsoft) had the idea of creating that lib. Everyone who tried the same as I did must have come across the same problem and probably had the same question as I had. Forgive me if my thinking appears too naive.Pashalik
Btw, I solved the actual problem by using GLEW. Took me 15 minutes + 15 minutes to get it work together with SDL. It required to #define "NO_SDL_GLEXT" but then it works perfect.Pashalik
@Chuck: Such a lib like you envision is not trivial to implement. OpenGL is both a drawing API but also a driver ABI (binary interface). And ABI changes can only be done by the maker of the OS. There's exactly one opengl32.dll in all the Windows versions around and it didn't change in years. The opengl32.lib must match this DLL. OpenGL drivers don't go around and replace that DLL or install something on the system that could be directly accessed. All their functionality that goes beyond the ABI must go through that channel called extension mechanism.Morice
A library like I think about implementing requires to jump some serious hoops. Yes it is possible but its nontrivial. Also it would not replace opengl32.lib nor opengl32.dll, but complement them. Effectively it would use the usual ABI and extension mechanism to provide the extended functionality through a set of augmented DLL exports. For this it must do things like create a hidden proxy context and such stuff.Morice

© 2022 - 2024 — McMap. All rights reserved.