[英]OpenGL wih Qt5: #error gl.h included before glew.h
我在Qt4.8上有项目,并试图用Qt5.1构建它。 我收到很多
#error gl.h included before glew.h
和
#error glext.h included before glew.h
错误。 看起来它是Qt5与OpenGL的重大变化..所有包括
#include "GL/glew.h"
#include "GL/gl.h"
#include "GL/glu.h"
glew.h始终是第一个。
假设您只在使用GLEW加载所需功能的类中使用OPENGL调用,那么这将起作用。
我所做的就是在.CPP文件中包含所有GLEW h,但是在包含头文件之前(QTGUI又包含OPENGL)。
所以这是我在GLWIDGET.CPP中的方式:
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GLWidget.h>
如您所见,我的GLWidget是一个来自QGLWidget的派生类,需要包含QTGUI和所有这些。
首标是否包含在某个.h文件中并不重要。 头文件不是独立的。 重要的是从源文件中看到的包含顺序。
你似乎有太多的标题包含(一般来说,你应该保持标题到标题包含绝对最小)。 我们最终无法解决这个问题; 你只需解开你的标题问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.