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