今天回到 openGL,有些东西写着写着就会爱上她—C++
上一次分享我们成功导入 glfw 包,本次我们要引入另一个 glew
GLFW 是一门专门针对 OpenGL 的 C 语言库,它提供了一些渲染物体所需要的最低限度的接口。允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。
GLEW 是 OpenGL Extension Wrangler Library 的缩写。OpenGL扩展库是个简单的工具,用于帮助C/C++开发者初始化扩展(OpenGL扩展功能)并书写可移植的应用程序。GLEW当前支持各种各样的操作系统。
Glew 官网提供了GLEW 包的下载,在 windows 平台上我们选择下载 Window 32-bit 。
首先将我们下载好的glew-2.1..0 包加压到项目目录下 Dependencies 文件夹下,将 glew-2.1.0 文件夹名修改为 GLEW。
在 /GLEW/doc 文件夹下,简单阅读一下文档,官方文档是最好的老师。然后在 application.cpp 文件中添加 glewInit()方法。(007)
现在可以将 glew 下 lib 和 include 引入到项目以便使用 glew 包,将目录 Dependencies\GLEW\include 路径复制一下
打开项目配置对话框,在 【C/C++】/【常规】的【附加包含目录】添加$(SolutionDir)Dependencies\GLEW\include
可以点击【编辑】查看包含的头文件是否正确引入。
如果我们添加 glew32s.lib 添加到链接器,同样需要将路径复制出来,添加到 【链接器】/【常规】的【附加库目录下】
这一次可以换一种方式添加库,我们点击添加图中标识的新建图标然后再输入框中输入$(SolutionDir)Dependencies\GLEW\lib\Release\Win32
然后再【链接器】/【输入】库中的【附加依赖项】添加glew32s.lib
在 application.cpp 文件中添加 #include<GL/glew.h> 引入头文件,生成项目(build项目),这里 visual studio 将 build 翻译成【生成】你怎么看?
呵呵
发生错误。
查看错误消息gl.h included before glew.h
说明我们需要调整一个 include 先后顺序
调整后再次运行程序,不在build报错,但是报链接器方面的错误。查看错误输出为无法解析的外部符号 我们可以查看源码 glewInit 发现需要配置一个预定义常量我们在 【预处理器定义】添加 GLEW_STATIC 常量。
继续调整代码,我们需要将代码放置在 glfwMakeContextCurrent(window) 下面
我们输出GL 版本号,运行程序,如果你看到输出,恭喜您成功了!