原博客: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
[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