我試圖在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