編譯GSLSDevil的全過程[轉]

轉自 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過程如下:

  1. 首先在解壓的文件夾的同級目錄常見一個空文件夾,名字爲build.

  2. 安裝winflexbison,下載地址如下:

https://sourceforge.net/projects/winflexbison/

    下載zip文件後解壓縮,文件夾的結構如下:

    裏面並沒有安裝文件,所以需要在下面的步驟中的CMAKE文件中進行一些設置。

  1. 下載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中定義的方法不一樣。

     

  2. 更改CMakeList.txt來指定BISON和GLEW的路徑。

    1. 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的相關文件。

       

    2. 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的路徑纔可以)

       

  3. 安裝QT4.X

    我安裝的是 QT4.8.6, 在這裏下載的: https://download.qt.io/archive/qt/4.8/4.8.6/

    下載後一步步點擊安裝即可。

  4. 下載mhook。 GLSL-Debugger文件夾下已經有了一個空的文件夾,需要通過git或者svn下載到這個文件夾。下載網址爲:https://github.com/SirAnthony/mhook

     

  5. 官網上說要下載freeglut. 我下載下來了,(下載地址: http://www.transmissionzero.co.uk/software/freeglut-devel/ ),解壓後文件夾結構如下:

    好像實際並沒有用,忘了。好像是因爲我配置了glew就不用這個了。

  6. 然後按照GLSL-Debugger網站上的步驟執行如下操作

    1. 用管理員身份打開Developer Command Prompt for VS2013.
    2. Cd到build目錄。
    3. 執行 cmake ../GLSL-Debugger。

    上述步驟完成後,會在build文件夾下面產生一個Visual studio的解決方案,名字爲glsldb.sln.

  7. 用管理員身份打開解決glsldb.sln.

    然後點擊Rebuild solution, 就會在build\bin\Debug中出現一些可執行文件,其中的glsldb.exe就是我們需要的GLSL Debugger的程序。

    當然,在編譯的時候可能遇到問題。我當時遇到了如下的問題:

    1. Glsldb 項目編譯報錯,提示方法沒有聲明,手動指定了glew32.lib的路徑後解決。

      (重要:這裏需要注意的是,如果要改, Debug和Release的配置都要改,改了Debug, Release的配置不會自動改。這樣編譯出來的應用程序可能會有問題。)

    2. 編譯後打開glsldb.exe, 會提示QTGLSLT4.dll找不到,將QT的路徑加到環境變量裏就解決了。

    3. 提示找不到glew32.exe, 將glew的bin目錄加到環境變量裏就解決了。

       

       

  8. 所有問題都解決後,打開build\bin\Debug文件夾

    點擊glsldb.exe.

     

    大功告成!

    (如果Debug配置下編譯出來的程序用起來有問題,可以試試用Release配置再編譯一下,用Release版本的程序,可能會好用了。)

分類: OpenGL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章