非OpenGL版本的Qt使用QGLWidget構建OPenGL應用須知與編譯錯誤解決方法

 我們知道可以使用openGL版本的Qt(如Qt5.4.2),通過繼承QGLWidget的方式來創建OPenGL應用。我個人覺得這種方式更符合openGL窗體的開發模式(csgl, android(openglES) 就是這麼做的):

初始化GL ==》窗體大小改變處理 ==》繪製

 Qt的版本更新很快,我最近有個想法就是讓上述方式開發的OPenGL應用也可以在新版本Qt(如5.8.0)編譯成功。編譯的過程中有很多錯誤:

 error: undefined reference to `[email protected]'

 

會發現出錯原因就是無法鏈接到gl函數,在項目管理文件中加入下面語句:


重新build 項目錯誤解決,編譯成功。運行結果如下: