轉自 https://www.cnblogs.com/time-is-life/p/7019093.html
GLSLDevil是調試OpenGL程序的工具。
GLSLDevil的新版本已經改名爲GLSL-Debugger, github的地址在這裏:http://glsl-debugger.github.io/
從github下載zip文件,解壓縮, 目錄結構如下:
然後按照github上的build步驟來編譯。我的編譯環境是Windows7, Visual Studio2013.
詳細的build過程如下:
-
首先在解壓的文件夾的同級目錄常見一個空文件夾,名字爲build.
- 安裝winflexbison,下載地址如下:
https://sourceforge.net/projects/winflexbison/
下載zip文件後解壓縮,文件夾的結構如下:
裏面並沒有安裝文件,所以需要在下面的步驟中的CMAKE文件中進行一些設置。
-
下載GLEW:
從這個網址下載zip文件:http://glew.sourceforge.net/
解壓後的目錄結構如下:
將這個文件夾拷貝到GLSL-Debugger\GLSLCompiler目錄下:
由於這個路徑的結構有點問題,所以需要將glew-2.0.0\lib\Release\Win32中的glew32.lib拷貝到lib目錄下。
注意要從WIN32目錄下拷貝,而不是X64目錄下拷貝,否則後面Visual studio編譯的時候會出現找不到方法的錯誤,原因應該是WIN32的lib和X64的lib中定義的方法不一樣。
-
更改CMakeList.txt來指定BISON和GLEW的路徑。
-
GLSL-Debugger\GLSLCompiler\glslang\MachineIndependent\CMakeList.txt
在
find_package(BISON 2.7 REQUIRED)
find_package(FLEX REQUIRED)
的前面加:
list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/GLSLCompiler/win_flex_bison-latest")
這一步的目的是將win_flex_bison的文件夾加到CMAKE的前綴路徑中,這樣CMAKE在執行的時候能夠在這個文件夾中搜索到flex和bison的相關文件。
-
GLSL-Debugger\glsldb\CMakeList.txt:
在
find_package(GLEW REQUIRED)
的前面加:
list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/GLSLCompiler/glew-2.0.0")
(如果第3步中沒有將 glew32.lib拷貝到lib目錄下,這裏需要設置lib的路徑纔可以)
-
-
安裝QT4.X
我安裝的是 QT4.8.6, 在這裏下載的: https://download.qt.io/archive/qt/4.8/4.8.6/
下載後一步步點擊安裝即可。
-
下載mhook。 GLSL-Debugger文件夾下已經有了一個空的文件夾,需要通過git或者svn下載到這個文件夾。下載網址爲:https://github.com/SirAnthony/mhook
-
官網上說要下載freeglut. 我下載下來了,(下載地址: http://www.transmissionzero.co.uk/software/freeglut-devel/ ),解壓後文件夾結構如下:
好像實際並沒有用,忘了。好像是因爲我配置了glew就不用這個了。
-
然後按照GLSL-Debugger網站上的步驟執行如下操作
- 用管理員身份打開Developer Command Prompt for VS2013.
- Cd到build目錄。
- 執行 cmake ../GLSL-Debugger。
上述步驟完成後,會在build文件夾下面產生一個Visual studio的解決方案,名字爲glsldb.sln.
-
用管理員身份打開解決glsldb.sln.
然後點擊Rebuild solution, 就會在build\bin\Debug中出現一些可執行文件,其中的glsldb.exe就是我們需要的GLSL Debugger的程序。
當然,在編譯的時候可能遇到問題。我當時遇到了如下的問題:
-
Glsldb 項目編譯報錯,提示方法沒有聲明,手動指定了glew32.lib的路徑後解決。
(重要:這裏需要注意的是,如果要改, Debug和Release的配置都要改,改了Debug, Release的配置不會自動改。這樣編譯出來的應用程序可能會有問題。)
-
編譯後打開glsldb.exe, 會提示QTGLSLT4.dll找不到,將QT的路徑加到環境變量裏就解決了。
-
提示找不到glew32.exe, 將glew的bin目錄加到環境變量裏就解決了。
-
-
所有問題都解決後,打開build\bin\Debug文件夾
點擊glsldb.exe.
大功告成!
(如果Debug配置下編譯出來的程序用起來有問題,可以試試用Release配置再編譯一下,用Release版本的程序,可能會好用了。)
分類: OpenGL