I have problems building my OpenGL code on Linux. Although most GL calls are available, it fails with glGenVertexArrays not being defined. Normally graphics engines or drawing applications use some kind of GL loading library in order to manage the different extensions and their availability on different platforms, graphics driver implementations and OpenGL versions. It seems JUCE is doing this somehow by itself? The code compiles fine on MacOS X 10.11. I want to try to make this work by using glbinding for this, a rather new library which has some great properties such as clean namespace scoping and typesafe interfaces for all the GL functions: https://github.com/cginternals/glbinding
It does not have to be glbindings of course. Any loading library, like the aging GLEW or glxw, glLoadGen, flextGL, etc. would be fine for me. For some background see https://www.opengl.org/wiki/OpenGL_Loading_Library.
So there are frameworks which handle OpenGL extensions by themselves to some extent, but offer a #define which can be set before including their headers, in order to flag that they shall not include the GL headers by themselves. For example look at GLFW:
Is some mechanism like this available in JUCE? If not, how do you think I should go about this? Looking at the headers I don't immediately see that's possible. Maybe you can just fix it in JUCE, which would be ok, but using a proper loading library would be preferrable.
I want to mention that I've read other forum posts where people have been asking about this:
where it seems you are for now sticking with your own solution. But maybe things have changed since Jan 2014?
Thanks for your support!