glew庫安裝和初始化

原博客:http://blog.csdn.net/u010281174/article/details/45848003


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版本不一致,會出現無法定位程序輸入點_glewInit@0於動態鏈接庫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: 無法解析的外部符號__imp__glewInit@0,該符號在函數 _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


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