GLAD、GLFW、SDL2 的下载地址、OpenGL 版本选择,以及在 Visual Studio 中的配置方法

OpenTK 2026-05-07 14:18:00

这里整理 GLAD、GLFW、SDL2 的下载地址、OpenGL 版本选择,以及在 Visual Studio 中的配置方法。


一、下载地址汇总

下载地址说明
GLADhttps://glad.dav1d.de/在线生成工具,根据需求生成对应的库文件
GLFWhttps://www.glfw.org/download.html下载 Windows 预编译库,选择 lib-vc2022 文件夹对应的版本
SDL2https://github.com/libsdl-org/SDL/releases下载 SDL2-devel-2.30.8-VC.zip

GLFW 下载注意事项:如果你的 Visual Studio 是 2022 版本,解压后使用 lib-vc2022 文件夹中的库文件;如果是 VS 2019,使用 lib-vc2019,以此类推。

SDL2 下载注意事项:需要下载 SDL2-devel-xxx-VC.zip 这个开发包,它包含了编译所需的头文件、库文件和运行时的 DLL。不要下成 SDL2-xxx-win32-x64.zip(那是纯运行包)。Release 2.30.8 · libsdl-org/SDL · GitHub

二、OpenGL 版本选择

选项推荐值说明
APIOpenGL 3.3 或 4.63.3 兼容性最好,4.6 是最新版
ProfileCore核心模式,移除了旧版函数,与现代 GPU 配合更好
Generate a loader必须勾选生成函数加载代码

建议选择 OpenGL 3.3 Core。理由如下:

  • 大多数显卡驱动都稳定支持 3.3

  • 包含了 Shader、VAO、VBO 等现代特性

  • 向下兼容,代码可以在更新版本上运行


三、GLAD 生成与配置

3.1 在线生成步骤

  1. 访问 https://glad.dav1d.de/

  2. Language:选择 C/C++

  3. API:选择 OpenGL → 版本选择 3.3 或 4.6

  4. Profile:选择 Core

  5. 确保 Generate a loader 被勾选

  6. 点击 GENERATE 按钮

  7. 下载生成的 glad.zip 文件

3.2 解压后目录结构

text

glad/
├── include/
│   ├── glad/glad.h      ← 头文件(复制到项目)
│   └── KHR/             ← 跨平台支持(可选)
└── src/
    └── glad.c           ← 必须添加到项目编译

如何在 VS 中添加 glad.c

  1. 右键项目 → 添加 → 现有项

  2. 选择 glad.c 文件

  3. 确认文件出现在解决方案资源管理器的源文件目录下

四、GLFW 下载与配置

4.1 下载与解压

  1. 访问 https://www.glfw.org/download.html

  2. 在 Windows 部分,下载预编译二进制文件(例如 glfw-3.4.bin.WIN64.zip

  3. 解压到项目 libs\glfw\ 目录

4.2 目录结构

text

libs/glfw/
├── include/
│   └── GLFW/
│       └── glfw3.h
├── lib-vc2022/          ← 根据 VS 版本选
│   ├── glfw3.lib
│   └── glfw3.dll
└── (其他文件可删除)

VS 版本与文件夹对应

VS 版本文件夹名
VS 2022lib-vc2022
VS 2019lib-vc2019
VS 2017lib-vc2017
VS 2015lib-vc2015

五、SDL2 下载与配置

5.1 下载

  1. 访问 https://github.com/libsdl-org/SDL/releases

  2. 找到 release-2.30.8 版本

  3. 下载 SDL2-devel-2.30.8-VC.zip

5.2 目录结构

text

libs/sdl2/
├── include/
│   └── SDL.h 等
└── lib/
    ├── x64/
    │   ├── SDL2.lib
    │   ├── SDL2main.lib
    │   └── SDL2.dll
    └── x86/ (如需要)

六、Visual Studio 项目配置

这是核心部分,以下所有配置都需要确保"平台"选择为 x64(或在解决方案平台下拉框中选择 x64)。

6.1 附加包含目录

路径项目属性 → C/C++ → 常规 → 附加包含目录

添加以下路径:

text

.\libs\glfw\include
.\libs\glad\include
.\libs\sdl2\include

说明:这个路径告诉编译器去哪里找 GLFW/glfw3.h 和 glad/glad.h 等头文件。

6.2 附加库目录

路径项目属性 → 链接器 → 常规 → 附加库目录

添加以下路径:

text

.\libs\glfw\lib-vc2022      ← 根据 VS 版本调整
.\libs\sdl2\lib\x64

说明:这个路径告诉链接器去哪里找 .lib 库文件。

6.3 附加依赖项

路径项目属性 → 链接器 → 输入 → 附加依赖项

添加以下库文件:

text

glfw3.lib
SDL2.lib
SDL2main.lib
opengl32.lib

说明opengl32.lib 是 Windows 自带的 OpenGL 1.1 兼容库,但与 GLAD 配合使用是必要的。

6.4 预处理器定义(可选)

需要的定义场景
GLFWGLFW_DLL使用动态链接库时添加
SDL2_CRT_SECURE_NO_WARNINGS解决安全函数警告

6.5 完整配置检查表

配置项应该有的内容
平台x64(或 x86,保持一致)
附加包含目录libs\glfw\include
libs\glad\include
libs\sdl2\include
附加库目录libs\glfw\lib-vc2022
libs\sdl2\lib\x64
附加依赖项glfw3.lib
SDL2.lib
SDL2main.lib
opengl32.lib
glad.c已添加到源文件中

七、代码顺序说明(重要)

使用 GLAD 时,先包含 GLAD 头文件,再包含 GLFW 头文件

cpp

#include <glad/glad.h>      // 必须第一个
#include <GLFW/glfw3.h>     // 然后是 GLFW
#include <SDL.h>            // SDL 可以在后面

GLAD 与 GLFW/SDL 的配合:

初始化 GLAD 的方式
GLFWgladLoadGLLoader((GLADloadproc)glfwGetProcAddress)
SDL2gladLoadGLLoader((GLADloadproc)SDL_GL_GetProcAddress)

八、运行时 DLL 部署

编译完成后,需要将以下 DLL 复制到 可执行文件 (.exe) 所在目录

DLL 文件位置
GLFWlibs\glfw\lib-vc2022\glfw3.dll
SDL2libs\sdl2\lib\x64\SDL2.dll

如果不复制,运行时会报 0x8007007E 找不到模块的错误。

九、常见问题速查

错误可能原因解决方案
无法打开源文件 "glad/glad.h"附加包含目录路径错误检查 libs\glad\include 路径是否正确
无法打开源文件 "GLFW/glfw3.h"附加包含目录路径错误检查 libs\glfw\include 路径
LNK2019 无法解析的外部符号 __imp_glfwInit链接器没找到 GLFW 库检查附加库目录和附加依赖项
LNK2019 无法解析的外部符号 __imp_SDL_Init链接器没找到 SDL2 库检查 SDL2.lib 是否在附加依赖项中
0x8007007E 找不到模块运行时 DLL 缺失将 glfw3.dll / SDL2.dll 复制到 exe 目录

 

 

用 GLM,理由很简单:

  • 它是纯头文件,不需要编译 .lib,不需要链接

  • 只包含你实际使用的函数,不会膨胀

  • 数百万个项目验证过,没有 bug

  • 语法与 GLSL 完全一致,写 shader 时特别方便

快速配置 GLM

  1. 从这个国内镜像下载:https://github.com/g-truc/glm/releases

  2. 选择 glm-1.0.1-light.zip

  3. 解压后,把里面的 glm 文件夹(注意是包含 glm.hpp 的那个)复制到 CandyRenderEngine/libs/glm/

  4. 在项目属性 → C/C++ → 常规 → 附加包含目录 中添加 .\libs\glm

 

 

 

下载 stb_image.h

Texture.cpp 中使用了 stb_image.h,你需要下载这个单头文件库:

  1. 下载地址:https://github.com/nothings/stb/blob/master/stb_image.h

  2. 将 stb_image.h 放入 CandyRenderEngine 项目目录


 

...全文
38 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3

社区成员

发帖
与我相关
我的任务
社区描述
openTK、OpenGL、WebGL技术学习交流
图形渲染c#程序人生 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • 亿只小灿灿
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧