2013-04-03 77 views
0

我跟着this turial創建了一個非常簡單的帶有QT的openGL程序。OpenGL程序不能用QT 5.0編譯

我有QT 5.0。我創建了一個新的空QT項目,如教程中創建的所有文件,但編譯失敗。原因是某些方法(如glShadeModel())無法識別。 我試過包括GL/glu.h(其中包括glShadeModel),但這次與幾個openGL類型有衝突。但根據教程,所有的opengl方法都應該包含在QtOpenGL中。也許我有最近版本的QT。我迷路了。

有人能幫助我嗎?

+0

我不認爲5.0是一個問題,它仍然支持QGLWidget,這是該示例所基於的。你有鏈接器問題或編譯器?可能它只是沒有找到Qt的GL支持。我在Windows和Linux上都遇到了麻煩,因爲它沒有安裝在外盒(或者我的.pro文件不知道在哪裏尋找這些庫)。你不應該需要 - 也許不想要 - GLU。 – 2013-04-03 21:10:26

+2

而不是一個更老的第三方的例子,爲什麼你沒有得到Qt的(5.0)「你好GL」首先工作。 http://qt-project.org/doc/qt-5.0/qtopengl/hellogl.html。這將確保您擁有正確的安裝和配置。 – 2013-04-03 21:13:03

+0

你好。我已經在我的.pro中鏈接了include和lib文件夾。我的程序編譯時沒有使用opengl函數調用。我要測試'你好GL'。 – user1364743 2013-04-03 21:18:32

回答

1

Qt5基於OpenGL ES 2.0,這是桌面OpenGL的一個子集,甚至一些Qt教程也不適應這種變化。如果你想編譯這些教程,你將不得不用普通的OpenGL來編譯Qt 5.0。

+0

這是不幸的事實。我永遠不會明白爲什麼Qt從默認發行版中刪除桌面OpenGL。 – TheBuzzSaw 2013-04-04 15:25:10

0

我可能只給你一些檢查點。 中的.pro

* QT + = OpenGL的

*檢查您的GPU支持您使用OpenGL的版本,例如我的筆記本電腦只有2.1兼容OpenGL。

也請使用「Qt」代替「QT」,QT代表蘋果的quicktime。