Q: OpenGL ES 2 не работает в Qt5 Раньше работал в qt 4.8. с компилятором  MSVN 2010, но время шло, решил перейти на qt 5.10 (последнюю) с компилятором MinGW 5.3. 32-bit (из коробки).
Попробовал  работать с OpenGL, но создав простейший шаблон (сцена и фон) Qt Creator требует функции хотя и видит их, непонятно в чем ошибка. 
Вот код :
OGL-test.pro
#-------------------------------------------------
#
# Project created by QtCreator 2018-06-04T05:32:07
#
#-------------------------------------------------

QT       += core gui opengl

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = OGL-test
TEMPLATE = app


SOURCES += main.cpp\
        widget.cpp

HEADERS  += widget.h

widget.h
#ifndef WIDGET_H
#define WIDGET_H

//#include <QOpenGLBuffer>
//#include <GL/gl.h>

 #include <QOpenGLFunctions>
#include <QOpenGLWidget>
#include <QMatrix4x4>

class Widget : public QOpenGLWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();
    // когда наследуешься от QOpenGLWidget
    // обязательно надо перенаследовать три метода (функции)
protected:
    void initializeGL();
    void resizeGL(int w, int h); // ширина и высота
    void paintGL();

private:
    QMatrix4x4 m_projectionMatrix;// матрица проeкций
};

#endif // WIDGET_H

main.cpp
#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

widget.cpp
#include "widget.h"

Widget::Widget(QWidget *parent)
    : QOpenGLWidget(parent)
{
}

Widget::~Widget()
{

}

void Widget::initializeGL()
{
     glClearColor(0.0f,0.0f,0.0f,1.0f);// цвет формат (РГБ)
     glEnable(GL_DEPTH_TEST); //включаем буфер глубины
     glEnable(GL_CULL_FACE); // включаем буфер граней (что бы они не ресовались)

}

void Widget::resizeGL(int w, int h)
{
    // сдесь работаем с матрицей проекций

    float aspect = w/(float)h; // что бы её сформировать нужно отношение ширины на высоту
    m_projectionMatrix.setToIdentity(); // зануляем матрицу
    m_projectionMatrix.perspective(45,aspect,0.1f, 10.0f); // это настройка камеры с каким углом и откуда она будет смотреть

}

void Widget::paintGL() // будет вызываться при перерисовки содержимого окна
{
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //очищаем (буфер цвета и буфер глубины)
}

Все вроде правильно, но вот результат. Заметьте Qt Creator видит функции но "жалуется" на них потому что их не видит 0_о.


A: Думал что это связанно с тем фактом что в Qt5 поддерживается OpenGL ES 2 , а не более старые версии.
НО это было совершенно не верное направление проблема была в том что компилятор MinGW 5.3.0 у меня установлен 32 -битный. (из коробки) 
Для того что бы эту проблему решить надо добавить в .рrо библиотеку -lOpengl32
OGL-test.pro
#-------------------------------------------------
#
# Project created by QtCreator 2018-06-04T05:32:07
#
#-------------------------------------------------

QT       += core gui opengl

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = OGL-test
TEMPLATE = app


SOURCES += main.cpp\
        widget.cpp

HEADERS  += widget.h

LIBS += -lOpengl32 

Если так не сработает то можно так (просто у меня верхний вариант сработал)
LIBS += -lOpengl32 \
        -lopengl32


