按:按照下述博文,三個例子均成功。瀏覽器
https://blog.csdn.net/so_geili/article/details/51685005工具
請仔細閱讀每個字。 學習
爲了學習《OpenGL超級寶典(第五版)》必須配置OpenGL環境,正所謂工欲善其事必先利其器。翻閱了不少網上的配置教程,不少都有問題,但也有詳細的精華教程,好比博客: http://www.zyh1690.org/build-opengl-super-bible-fifth-edition-development-environment/ 。儘管該教程很詳細,但其中仍是有些細節問題,博客中沒有細說。配置OpenGL環境必定要細心、耐心。由於有一點疏忽均可能致使最終配置環境失敗。本篇雖然是針對「win7 X64 +VS2010」環境的配置過程,可是我在VS2012/VS2015下也搭建成功了,VS2012/VS2015下配置OpenGL的原理也很簡單,就是其中的Microsoft Visual Studio 10.0下要添加的文件變成Microsoft Visual Studio 12.0或Microsoft Visual Studio 15.0下添加相關的文件。測試
配置環境:ui
win7 X64 + Visua Studio 2010spa
win7 X64 + Visua Studio 2012操作系統
win7 X64 + Visua Studio 2015 .net
所須要的配置文件及工具:debug
百度雲盤下載地址:3d
連接:http://pan.baidu.com/s/1kVsKUGJ 密碼: xxqq
連接: http://pan.baidu.com/s/1slu9RK5 密碼: asj8
下面正式開始搭建:>>>>>>>>>>>>>>>>>>>>>>>>分割線>>>>>>>>>>>>>>>>>>>>>>>>>分割線>>>>>>>>>>>>>>>>>>>>>>>>>
打開 x:\x\freeglut-2.8.1\VisualStudio\2010\freeglut.sln 項目工程,(若是是配置VS2015,能夠選擇x:\x\....\2015\freeglut.sln 項目工程)
分別已Debug模式和Release模式生成解決方案。(只生成一個也可。建議在debug模式下編譯,無需執行。若是運行彈出黑框,忽視便可。32位操做系統注意,最終在運行藍寶書Chapter01\Block 的代碼時,若是遇到freeglut_static.lib沒法打開問題,應該選擇Debug_Static模式從新編譯,生成所需的freeglut_static.lib,添加到指定的文件夾中。)
會在 x:\x\freeglut-2.8.1\lib\x86 目錄下看到生成的 .dll 和 .lib 文件,其中請把 Debug目錄 中的 .dll 和 .lib 文件加上 _d 以便之後區分。如圖:
把 x:\x\freeglut-2.8.1\include\GL 文件夾下的 .h文件 複製到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目錄下,沒有GL文件夾的要本身建。
把 x:\x\freeglut-2.8.1\lib\x86 文件夾下(以及Debug文件夾)的 .dll 文件複製到 C:\Windows\SysWOW64 目錄(x86 複製到 System32目錄下)。
把 x:\x\freeglut-2.8.1\lib\x86 文件夾下(以及Debug文件夾)的 .lib文件複製到 x:\x\Microsoft Visual Studio 10.0\VC\lib。
至此,freeglut搞定!
(這一步搞定後,能夠用代碼檢查。
測試一:創建win32 控制檯工程,添入測試代碼 ,編譯運行。
測試二:創建win32 控制檯工程,添入測試代碼,編譯運行。)
把 x:\x\glew-1.11.0\include\GL 文件夾下的.h文件複製到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目錄下。
把 x:\x\glew-1.11.0\lib\Release\Win32 文件夾下的 .lib文件複製到 x:\x\Microsoft Visual Studio 10.0\VC\lib 目錄下。
把 x:\x\glew-1.11.0\bin\Release\Win32 文件夾下的 .dll文件複製到 C:\Windows\SysWOW64 目錄下。(若是沒有,就跳過)
(注意,若是配的是VS2015,須要將配置文件放入x:\x\Microsoft Visual Studio 15.0....中)
把 x:\x\glutdlls37beta 文件夾下的 .h文件 複製到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目錄下。
把 x:\x\glutdlls37beta 文件夾下的 .lib文件 複製到 x:\x\Microsoft Visual Studio 10.0\VC\lib 目錄下。
把 x:\x\glutdlls37beta 文件夾下的 .dll文件 複製到 C:\Windows\SysWOW64 目錄下。
(注意,若是配的是VS2015,須要將配置文件放入x:\x\Microsoft Visual Studio 15.0....中)
新建一個gltools的win32項目工程,如圖:
先編譯一下,(原文這裏有錯誤,下面是我修改的)
把 x:\x\SB5\Src\GLTools\src 目錄下的.cpp文件(不包括glew.c文件)複製到 x:\x\gltools\gltools。
把 x:\x\SB5\Src\GLTools\include 目錄下的.h文件(不包括GL文件夾)複製到 x:\x\gltools\gltools。
分別在頭文件和源文件上右鍵 添加->現有項 把 .h 和 .cpp 文件添加到項目。如圖:
編譯提示以下:
gltools.lib 文件生成成功。能夠在 x:\x\gltools\Debug 目錄下查看。
把 .lib文件 複製到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib 文件夾下。
把 .h文件 複製到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include 文件夾下(注意此次不是GL文件夾)。
到此gltools也OK了。
咱們使用書中給的例子來測試一下環境。若是測試成功,則OpenGL環境纔算是配好了。
創建test的項目工程:
咱們使用第一章的例子來測試,複製 x:\x\SB5\Src\Chapter01\Block 中的全部文件到 x:\x\test\test 文件夾下。一樣在源文件上右鍵 添加->現有項把Block.cpp文件包含進來。
添加附加依賴項(第一個圖):(這種添加依賴項方式,僅僅對當前test項目生效。爲了讓其餘項目也可使用這些個.lib文件,因此應該在屬性管理器中添加依賴項,具體方式見下面第二個圖)
編譯運行項目,效果如圖:(若是編譯出錯,則用百度瀏覽器搜索錯誤信息,尋找相應的解決方案。或者查看本博文最後的「一些特殊狀況的處理」,可能會獲得幫助。)
按空格鍵變換顯示效果,共六種效果:
徹底按照上面的教程配置OpenGL環境,在大多數電腦上,都能成功。但凡是都有例外,若是配置失敗,下面的一些配置細節或許能夠幫你解決問題。
case1:freeglut_static.lib沒法打開問題
方案一:還須要將\OpenGL超級寶典\SB5\SB5\freeglut-2.6.0\VisualStudio2008Static\Release裏的freeglut_static.lib拷貝到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib才能運行成功。若是失敗,能夠嘗試方案二;
方案二:仔細查看本篇博文關於 freeglut配置部分,有紅色加粗部分。留意配置細節。 case2:「math3d.h」: No such file or directory
若是出現c:\project\gltools\gltools\math3d.cpp(45): fatal error C1083: 沒法打開包括文件:「math3d.h」: No such file or directory等頭文件找不到的狀況就須要把VC/include文件夾裏面也加上了math3d.h等頭文件加上就能夠運行了。
case3:Visual Studio 2015中ucrtbased.dll丟失
能夠按照這個連接:http://blog.csdn.net/so_geili/article/details/53009680 ,選擇裏面的「解決方案三」來解決問題。