If I comment out the glimg image loading stuff and the include files for it then the program runs the triangle demo properly. If I don't comment out the header for the glimg stuff, then the program crashes.

The reason your code is working is because glfw.h includes the gl.h header. But the gl.h header will only contain the core 1.1 stuff (on Windows at least). And nothing you're using is outside that range. Just attempt to directly call any OpenGL function after GL 1.1. Like, say, glCreateProgram(). You'll get a compiler error. Or just use any post-1.1 enumerator, like GL_TEXTURE_3D.

As stated in the docs, gll.hpp is just for the basic system. It's where you get `glload::LoadFunctions` from. The OpenGL headers are all of the form `gl_*.h` or `gl_*.hpp`.

Like I said, I can't reproduce it on my machine. So I don't know what's going on. Earlier, I asked if you could narrow down exactly which header from glimg it was that was causing the problem. You already said that everything works if you take out the glimg headers (and code, of course). So there seems to be some interaction there.