繁体   English   中英

OpenGL与Qt5:#error gl.h包含在glew.h之前

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM