【GPU工程师】【OpenGL】00 使用VScode 学习OpenGL
·
使用VScode 学习OpenGL
环境搭建
选取基础开发环境
1、C/C++编译器
在选择编译器的时候,给我推了两种,一种是GCC 一种是MSVC,
差异项总结:
C使用的多的就 选MingGW-w64:GCC 编译器 + MSYS2 包管理/POSIX 环境
C++使用的多的就选MSVC: Microsoft C/C++ 编译器 + Visual Studio 生态
我之前是习惯下载MingGW-w64,
但是AI 推荐我使用MSYS2,意思是更加自动化,体验一下到底差别在哪?
https://www.msys2.org/
(1)安装后,执行以下指令
# 更新包数据库和核心包
pacman -Syu
# 如果提示关闭终端,就关掉再重新打开 MSYS2 终端,然后执行:
pacman -Su

直接装了一大套全家桶,


以下是你在 Windows 上使用 VS Code + MSYS2 UCRT64 搭建 OpenGL C 语言开发环境的完整总结,包含操作步骤与遇到的问题记录。
Windows OpenGL C 开发环境搭建总结
📋 环境概览
| 项目 | 详情 |
|---|---|
| 操作系统 | Windows |
| 工具链 | MSYS2 UCRT64 (GCC + CMake + Ninja) |
| IDE | VS Code + CMake Tools 扩展 |
| 图形库 | GLFW3 + OpenGL |
| 语言 | C11 |
| 项目路径 | E:/learnRender/OpenGL/opengl-first-1 |
🛠️ 搭建步骤
1. 安装 MSYS2 UCRT64 工具链
在 MSYS2 UCRT64 终端中执行:
pacman -S mingw-w64-ucrt-x86_64-gcc \
mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-ninja \
mingw-w64-ucrt-x86_64-glfw
2. VS Code 配置
- 安装扩展:CMake Tools、C/C++
- 按
Ctrl+Shift+P→ CMake: Select a Kit → 选择 UCRT64 GCC
3. 编写 CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(opengl_first C)
set(CMAKE_C_STANDARD 11)
# 确保 CMake 能找到 MSYS2 ucrt64 下的库
list(APPEND CMAKE_PREFIX_PATH "C:/msys64/ucrt64")
# GLFW
find_package(glfw3 REQUIRED)
# OpenGL
find_package(OpenGL REQUIRED)
add_executable(${PROJECT_NAME} main.c)
target_link_libraries(${PROJECT_NAME} PRIVATE glfw OpenGL::GL)
4. 编写 main.c
#include <GLFW/glfw3.h>
#include <stdio.h>
int main(void) {
if (!glfwInit()) {
fprintf(stderr, "Failed to init GLFW\n");
return -1;
}
GLFWwindow* window = glfwCreateWindow(800, 600, "OpenGL First", NULL, NULL);
if (!window) {
fprintf(stderr, "Failed to create window\n");
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
printf("OpenGL Version: %s\n", glGetString(GL_VERSION));
while (!glfwWindowShouldClose(window)) {
glClearColor(0.1f, 0.1f, 0.3f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
5. 构建与运行
| 操作 | 快捷键 / 命令 |
|---|---|
| Configure | Ctrl+Shift+P → CMake: Configure |
| Build | F7 或底部 Build 按钮 |
| Run | 底部 ▶ 按钮 或 CMake: Run Without Debugging |
⚠️ 遇到的问题及解决方案
问题 1:CMake 找不到 glfw3
错误信息:
Could not find a package configuration file provided by "glfw3"
with any of the following names:
glfw3Config.cmake
glfw3-config.cmake
原因: GLFW 未安装,或 CMake 搜索路径未包含 MSYS2 ucrt64 的库目录。
解决方案(两步):
- 在 MSYS2 UCRT64 终端安装 GLFW:
pacman -S mingw-w64-ucrt-x86_64-glfw - 在
CMakeLists.txt的find_package之前添加搜索路径:list(APPEND CMAKE_PREFIX_PATH "C:/msys64/ucrt64")
问题 2:CMake 找不到源文件 main.c
错误信息:
Cannot find source file: main.c
No SOURCES given to target: opengl_first
原因: CMakeLists.txt 中引用了 main.c,但项目目录下尚未创建该文件。
解决方案: 在项目根目录新建 main.c 并写入源代码后,重新执行 CMake: Configure。
💡 经验备忘
| 要点 | 说明 |
|---|---|
| Kit 必须匹配 | 使用 UCRT64 的 GCC 就必须用 UCRT64 的库,不要混用 MINGW64/CLANG64 |
| 清除缓存 | 修改 CMakeLists.txt 后若报错,优先使用 Delete Cache and Reconfigure |
| CMAKE_PREFIX_PATH | VS Code 调用 CMake 时环境变量可能与 MSYS2 终端不同,显式指定路径更可靠 |
| deprecated 警告可忽略 | --no-warn-unused-cli 的弃用警告不影响构建,是 CMake Tools 插件传参导致的 |
🚀 下一步建议
- 集成 GLAD 加载现代 OpenGL 函数指针 (Windows 自带的 OpenGL 只有 1.1 版本,GLAD 帮你在运行时加载现代 OpenGL(3.3+)的所有函数指针 )
- 实现第一个三角形(VAO / VBO / Shader)
- 跟随 LearnOpenGL 教程系统学习
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)