当前位置: 首页 > 工具软件 > glad > 使用案例 >

【从零开始】windows配置glfw与glad

卜方伟
2023-12-01

目标

后知后觉发现windows上可以跑openGL 4.x(也许是我脑子混乱,总感觉windows不支持openGL)。于是重操旧业,配置一下。没想到,这一配就是半个多小时,记录一下踩的雷。

初始环境

  • VS 2022, 这个无所谓。
  • cmake 3.22, 这个也无所谓,但是不要太低了,建议在3.20以上。
  • glfw3.3.6, 官网下载最新的即可,下载下来以后是source code,得稍微编译一下。
  • glad,这个官网上自带编译,扒编译好的文件即可。

Step 1:glfw的编译

这个编译很简单,使用cmake,选择下载好的glfw文件夹,然后configuration,这里就需要选择编译器版本,看清楚vs的版本。同时注意看cmake的选项里,有一个prefix install,也就是默认的include和lib的安装路径。建议改一个好管理的路径,或者把默认路径记下来,别到时候找不到了。
搞完以后glfw的目录结构应该是这样的:
GLFW
| --include\glfw.h
| --lib\glfw3.lib

Step 2:glad

这个就很有意思了。网上说法纷纭。正确的做法是:

  • 选择gl版本,比如4.6
  • 选择compatible还是core,这个都行。core好一点(抛弃了对旧版本的兼容,也就远离了老旧代码,这就叫供给侧改革)。
  • 注意下面的选项,按照最近的更新来看,需要勾上local。
  • 这时候编译好的文件应该是这么几个:glad.h, khrplatform.h, glad.c
  • 同样把它们放到一个好管理的路径(同一个目录里即可)

按照我的粗浅理解,glad.h其实就是gl.h;khrplatform.h是khronos公司搞事情,强行刷存在感;glad.c是glad.h的实现,就是用glad来实现openGL的扩展函数。所以当没有glad.c的时候,编译会报找不到__gladxxxx链接。
所以也有博客说,可以把glad.c编译成静态库glad.lib,这样就和glfw很像了。

搞完了以后glad的文件夹应该是这样的:
glad
|–glad.h
|–glad.c
|–khrplatform.h

Example

代码是glfw官网提供的,略。主要说说怎么配置vs solution。

  • include path,一个,glfw.h所在的目录;
  • library path, 一个,glfw3.lib所在的目录;
  • 编译器链接,一个,glfw3.lib
  • 把glad.h,khrplatform.h拖进vs的header;把glad.c拖进vs的src;

请欣赏你绘制的七彩的三角形吧!

 类似资料: