This is a common issue with windows.h and GL.h inclusion:
windows.h handles various macros like NOMINMAX disabling large portions of definitions.
As consequence, including headers with and without such disabling macros makes result order-dependent (and some files really need these disabled declarations).
GL.h relies on windows.h (on Windows) and in addition there are different ways adding declarions (functions, types and defines) of newer OpenGL versions.
OCCT and Qt have own dedicated declarations of newer OpenGL staff, conflicting to each other and leading to various compilation errors when mixed (like QGLWidget.h and OpenGl_GraphicDriver.h).
So, the general advice is:
Find headers inclusion order that works, when possible.
Avoid inclusion of GL stuff wrapped by different libraries like OCCT and Qt within the same C++ header/source.
Split code into pieces so that each cpp includes only a single GL wrapper (use forward declarations in header files when possible).