У меня возникла проблема с созданием приложения с моим пользовательским glwidget
для OpenGL в QT. GL.h
выбрасывает 492 ошибки, начиная со строки 1157 с оператором синтаксической ошибки
: перед 'void' должен стоять знак ';' "(используя windows).
glwidget.h
#ifndef GLWIDGET_H
#define GLWIDGET_H
#include <QOpenGLFunctions>
#include <QGLWidget>
class GLWidget : public QGLWidget, protected QOpenGLFunctions
{
Q_OBJECT
public:
explicit GLWidget(QWidget* parent = 0);
void initializeGL();
void paintGL();
void resizeGL(int w, int h);
};
#endif // GLWIDGET_H
glwidget. cpp
#include "glwidget.h"
#include <gl/GL.h>
#include <gl/GLU.h>
GLWidget::GLWidget(QWidget* parent) : QGLWidget(parent)
{
}
void GLWidget::initializeGL()
{
glClearColor(0,0,0,1);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
}
void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
void GLWidget::resizeGL(int w, int h)
{
}
Каким было бы решение моей проблемы? Также я использую последнюю версию Windows Development Kit и использую QT 5.14.0 (MSV C 2017, 32 bit) на c ++ 11.
Все ошибки начинаются со строки 1157 и впоследствии распространяются на весь остальной код; я вставил раздел code со всеми ошибками, все это в строках WINGDIAPI и typedef, чем я исключил последние пару строк, которые просто ifdef и endif, которые не имеют ошибок.