2013-06-25 91 views
2

我是Qt新手,想要配置我的Qt5環境以使用OpenGL小部件。我在網上關注了一些教程和花絮,但似乎沒有任何工作。我在Designer中創建了一個窗口,然後手動將我自己的QGLWidget的子類添加到窗口的佈局(按教程說明)。我也填寫了paintGL​​和resizeGL函數。我之前使用的是過度使用glew,所以我把它轉化爲Qt的構建路徑。我已經瞭解到,爲了在Qt中使用glew,你不能包含Qt OpenGL頭文件。我還定義了QT_NO_OPENGL_ESQT_NO_OPENGL_ES_2Qt不會創建OpenGL上下文

但是,無論我做什麼,我都無法讓我的窗口顯示除黑色之外的任何東西 - 它甚至不會清除顏色。此外,爲了指示OpenGL和GLSL版本,我在窗口小部件類中有一些打印語句,但在我退出窗口之前不會打印任何內容。從那裏我得到了Glew錯誤「缺少GL版本」。 更新:我不知道這是否是由於有不同的窗口(我不熟悉),或者如果這些方法奇怪地只是在我關閉窗口時才被調用(爲什麼?)。

我已經嘗試過來自各個interwebs的建議的各種組合,但沒有任何幫助。我所需要的是能夠使用最新的(我的comp中爲4.2)OpenGL和Qt(用於小工具)。

技術規格:

  • 的Qt 5
  • MinGW的編譯器
  • Windows 7的
  • GLEW被靜態鏈接(.a)中
+0

請勿在配置時選擇「定義」QT_NO_OPENGL_ES'。你在哪個平臺上,使用哪個Qt版本(以及你是如何安裝的)? – peppe

+0

@peppe我已更新我的問題。 – GraphicsMuncher

回答

0

我不知道至極平臺你有沒有,但我用QGLWidget構建一個簡單的應用程序時遇到了同樣的問題(沒有任何反應),我寫了一個希望它可以幫助你的小指南。

所以我建議你是一個全新的安裝。我從來沒有使用過,因此我的解決方案沒有它。

如果您需要的是修復當前設置,請不要閱讀下一步。

簡單的方法:

1:安裝QT-Windows的開源-5.0.2-msvc2010_32_opengl 86脫機

2:安裝Visual Studio Express的微軟(免費,我們需要它的編譯器)

3:確保你有glu32.dll,glut32.dll,opengl32。DLL放在窗戶/ SYSTEM32和 窗/ SYSWOW64

4:集的Qt的MSVC的x86編譯器

堅硬方式:

如果你正在使用VS2012的編譯器,你想用它這裏就是這樣,(你必須重新編譯QT):

1:安裝QT-Windows的開源-5.0.1-mingw47_32 86脫機(在安裝過程中檢查聲音 「周守軍」)

2:安裝微軟的Visual Studio Express的(免費,我們需要它的編譯器)

3:安裝Perl的草莓5.16.3.1(32位)

4:創建一個新的文件夾,如C:\ Qt的\ Qt5.0.1 \ 5.0.1 \ SRC \ NuovaCartella

5:打開VS2012 x86的命令,並將其放置在文件夾上創建

6:粘貼此

C:\ Qt的\ Qt5.0.1 \ 5.0.1 \ SRC \ qtbase \配置-developer建造-opensource -nomake例子-nomake測試-opengl桌面-Mp

7: NMAKE確認

8:請確保您有glu32.dll,要將glut32.dll,OPENGL32.DLL在在Windows/SYSTEM32和Windows/SYSWOW64

9:打開

QT間>工具 - >選項 - >構建&運行 - > QtVersion->添加

,並設置QMAKE那ü可以在C發現:\ Qt的\ Qt5.0.1 \ 5.0.1 \ SRC \ NuovaCartella \ BIN

10:轉到

選項 - >構建&運行 - > Kits->添加

,並設置C++編譯器11.0 x86和下標籤QtVersion設置的Qt 5.0.1(NuovaCartella)

希望它幫助。

+0

不幸的是我使用gcc(mingw32)和靜態庫,而不是動態庫(即.a)。你知道根源問題是你修好了嗎? – GraphicsMuncher

+0

當然,主要的問題是我在系統32和syswow64中沒有OpenGL .dll文件。 – Nicola

+0

解決方案是安裝Qt的opengl版本。 – GraphicsMuncher

相關問題