十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【GPU工程师】【OpenGL】00 使用VScode 学习OpenGL

【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)IDEVS Code CMake Tools 扩展图形库GLFW3 OpenGL语言C11项目路径E:/learnRender/OpenGL/opengl-first-1️ 搭建步骤1. 安装 MSYS2 UCRT64 工具链在 MSYS2 UCRT64 终端中执行pacman-Smingw-w64-ucrt-x86_64-gcc\mingw-w64-ucrt-x86_64-cmake\mingw-w64-ucrt-x86_64-ninja\mingw-w64-ucrt-x86_64-glfw2. VS Code 配置安装扩展CMake Tools、C/C按CtrlShiftP→CMake: Select a Kit→ 选择UCRT64 GCC3. 编写 CMakeLists.txtcmake_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#includeGLFW/glfw3.h#includestdio.hintmain(void){if(!glfwInit()){fprintf(stderr,Failed to init GLFW\n);return-1;}GLFWwindow*windowglfwCreateWindow(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();return0;}5. 构建与运行操作快捷键 / 命令ConfigureCtrlShiftP→ CMake: ConfigureBuildF7或底部 Build 按钮Run底部 ▶ 按钮 或 CMake: Run Without Debugging⚠️ 遇到的问题及解决方案问题 1CMake 找不到 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 终端安装 GLFWpacman-Smingw-w64-ucrt-x86_64-glfw在CMakeLists.txt的find_package之前添加搜索路径list(APPEND CMAKE_PREFIX_PATH C:/msys64/ucrt64)问题 2CMake 找不到源文件 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 ReconfigureCMAKE_PREFIX_PATHVS Code 调用 CMake 时环境变量可能与 MSYS2 终端不同显式指定路径更可靠deprecated 警告可忽略--no-warn-unused-cli的弃用警告不影响构建是 CMake Tools 插件传参导致的 下一步建议集成GLAD加载现代 OpenGL 函数指针Windows 自带的 OpenGL 只有 1.1 版本GLAD 帮你在运行时加载现代 OpenGL3.3的所有函数指针 实现第一个三角形VAO / VBO / Shader跟随 LearnOpenGL 教程系统学习
返回列表