我试图在Qt5下编译一个代码,在Linux下,我在编译时遇到这个错误。在Qt得到'glGenFramebuffers()'没有在这个范围内宣布'
任何兼容性问题?任何其他错误
我有这包括:
#include <GL/gl.h>
我试图在Qt5下编译一个代码,在Linux下,我在编译时遇到这个错误。在Qt得到'glGenFramebuffers()'没有在这个范围内宣布'
任何兼容性问题?任何其他错误
我有这包括:
#include <GL/gl.h>
试试这个:
#ifdef Q_OS_WIN
#include "gl/GLU.h"
#else
#include <glu.h>
#endif
建立在OSX和Windows的代码为我工作找到正确的标题此示例时。
https://github.com/peteristhegreat/circles-in-a-cube/blob/master/glwidget.cpp
希望有所帮助。
glGenFramebuffers()
永远不会在标准的GL头文件中声明,因为这是一个函数,不保证被大多数平台上的GL库导出。对于任何使用GL 1.1的应用程序,必须使用GL扩展机制在运行时检索函数指针。有几种不同的OpenGL loading libraries可以为你提供所有这些,并且还提供了适当的头文件,这样就可以使用任何GL函数,就像直接链接它们一样。
您已经使用Qt,它提供了自己的GL加载机制,即QOpenGLFunctions和更现代的QAbstractOpenGLFunctions类。 This article提供了有关不同可能性的简要概述。
另请注意,Qt还提供了QGLFramebufferObject类作为GL的FBO的包装。
尝试 –
@devdalus我试过了。不是一个解决方案。 – jgd