天天看點

GLEW庫安裝和初始化GLEW庫安裝和初始化

轉載請注明出處!

GLEW庫安裝和初始化

         GLEW庫是OpenGL的擴充庫,用于支援OpenGL1.1以上的版本[0]。比如着色器特性。一般非內建顯示卡都能支援到OpenGL2.0或者更高,但是沒有GLEW庫依然無法調用高版本OpenGL的函數。GLEW能自動識别你的平台所支援的全部OpenGL進階擴充涵數。也就是說,隻要包含一個glew.h頭檔案,你就能使用gl, glu, glext, wgl, glx的全部函數[0]。

         建議自己下源碼然後編譯,不要用他提供的連結庫啥的。各種問題。

         http://glew.sourceforge.net/裡有GLEW庫的源碼和連結庫下載下傳。

         https://sourceforge.net/projects/glew/files/glew/1.12.0/glew-1.12.0.zip/download可以直接下載下傳到源碼。

         https://sourceforge.net/projects/glew/files/glew/1.12.0/glew-1.12.0-win32.zip/download可以下載下傳到編譯好的連結庫(不推薦!)。

編譯GLEW庫

         下載下傳好源碼,找到..\glew-1.12.0\build\vc12下的.sln檔案,用VS2012打開它。

注:有網友[1]建議打開..\glew-1.12.0\build\vc6下的.dsw檔案,并聲稱打開vc12後編譯出錯。我沒有發現這個問題,是以我是用vc12下的項目編譯的。

         選擇Release,編譯(由于編譯好的連結庫提供了Release MX版本,是以我還同時編譯了Release MX,不知道有沒有用)。

         編譯中可能的錯誤:

1[2],項目檔案包含ToolsVersion="12.0"。此工具集可能未知或缺失(您可以通過安裝相應版本的 MSBuild 來解決該問題),或者該生成因政策原因已被強制更改為特殊 ToolsVersion。将此項目視作具有 ToolsVersion="4.0"。

解決辦法:項目屬性à配置屬性à正常à平台工作集à把V120改成V100à應用。

         然後出現編譯成功字樣就可以了(需要四個項目全部編譯成功!)。

安裝GLEW庫

         按下表将各檔案移動:

檔案名 原位址 目标位址
glew32.dll 源碼路徑\bin\Release\Win32

C:\Windows\System32

C:\Windows\SysWOW64

glew.h

glxew.h

wglew.h

源碼路徑\include\GL C:\Program Files (x86)\Windows Kits\8.0\Include\um\gl

glew32.lib

glew32s.lib

源碼路徑\lib\Release\Win32 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib

         注意,如果C:\Windows\System32和C:\Windows\SysWOW64下的dll版本不一緻,會出現無法定位程式輸入點[email protected]于動态連結庫XXXXXXX的問題,這時候把他們ctrl+C, ctrl+V一下就可以了。詳情參閱[5]

         如果同時編譯了ReleaseMX下的項目,目标路徑同上。

建立工程注意事項

1,要先包含#include<GL/glew.h>再包含#include <GL/glut.h>,否則會報錯:

fatal error C1189: #error :  gl.h included before glew.h

2,記得初始化glew:

glewInit();

而且!glew的初始化要放在glut的初始化和視窗建立後面!否則初始化失敗哦![6]

3,可能報錯:

error LNK2019: 無法解析的外部符号[email protected],該符号在函數 _main 中被引用

fatal error LNK1120: 2 個無法解析的外部指令

解決辦法:

在程式第一行加上:

#pragma comment(lib,"glew32.lib")

如果不行請參閱[3]或者[4]。

參考:

[0]http://www.cnblogs.com/madfrog/archive/2010/06/25/1765259.html

[1] http://www.cnblogs.com/U-tansuo/p/glew.html

[2] http://zhidao.baidu.com/link?url=Xovk5B9Kh-tmNnMDBYCvC2SKfypI6OoSyNSfYlkABROnlpr0DoaDf0DumTBvesGp3UKV5K9fk72489VdT2vH39yAfJJazC1YVUGwoweq4h7

[3] http://www.cnblogs.com/Vis-Shin/archive/2012/09/23/2699330.html

[4] http://blog.csdn.net/vanlin5566/article/details/42384387

[5] http://blog.csdn.net/t_w_s/article/details/9404271

[6] http://zhidao.baidu.com/link?url=xgvl4m4ZcAp38Mau3oPEtEkuUwz2BS_QM0achyPSyZVatK4xvkRRI8mn20i1OqakQtHaZQvqcNwi1z8iJDbeXrb9AQbMU2b5UdDkintQ3ua

繼續閱讀