In the recent mess-around with opengl on Windows I found out that:
(char*)glGetString(GL_SHADING_LANGUAGE_VERSION)
will yield an error telling me the GLSL version constant is not defined.
The solution I documented after some googling is to include "glext.h" and "khrplatform.h" from the Kronos OpenGL Registry.
Another thing is when calling imgui, more specifically:
char* GLSL_version = (char*)glGetString(GL_SHADING_LANGUAGE_VERSION);
ImGui_ImplOpenGL3_Init(GLSL_version);
At least for Windows the imgui will render with shader compiling error since "GLSL_version" will be defined as "4.60". The imgui on the other hand is expecting another format for GLSL version string:
ImGui_ImplOpenGL3_Init("#version 460");
Changing it to the above format allows imgui to funtion as expected.