Visual Studio 开发环境配置指南

🎯 Visual Studio 开发环境配置指南

本文档将介绍如何在 Visual Studio 中配置 GLEW / GLFW / GLAD / OpenGL 等开发环境,包括:

  • 配置包含目录(Include Directories)
  • 配置库目录(Library Directories)
  • 配置源文件目录(用于 GLAD)
  • 添加链接器附加依赖项
  • 复制运行所需的 DLL 文件

🖥 环境需求

  • Visual Studio 2022
  • Windows 11(或 Windows 10)

📂 依赖库目录结构示例

下图为项目中 dependence 文件夹的结构示例。


1️⃣ 配置包含目录(Include Directories)

打开 Visual Studio:

右键项目 → 属性 → VC++ 目录 → 包含目录 (快捷方式:选中项目后按 Alt + Enter)

添加以下路径:

makefile 复制代码
$(SolutionDir)dependence\GLEW\include
$(SolutionDir)dependence\GLFW\include
$(SolutionDir)dependence\GLAD\include

2️⃣ 配置库目录(Library Directories)

路径:

右键项目 → 属性 → VC++ 目录 → 库目录

添加:

javascript 复制代码
$(SolutionDir)dependence\GLEW\lib\Release\x64
$(SolutionDir)dependence\GLFW\lib-vc2022

⚠ 注意:GLEW 的 lib 文件需要与你 VS 项目的平台匹配

  • 如果 VS 设置为 x64,需要使用:

    sql 复制代码
    GLEW\lib\Release\x64\
  • 如果 VS 设置为 Win32(x86),需要使用:

    sql 复制代码
    GLEW\lib\Release\Win32\

查看方式: VS 顶部 → Debug | x64(这里即为 x64)


3️⃣ 配置源文件目录(GLAD 专用)

GLAD 的实现代码在 src/ 目录中,因此需要加入源目录,否则 GLAD 无法编译。

路径:

右键项目 → 属性 → VC++ 目录 → 源文件目录

添加:

scss 复制代码
$(SolutionDir)dependence\GLAD\src

4️⃣ 添加附加依赖项(Linker → Input)

路径:

项目 → 属性 → 链接器 → 输入

在"附加依赖项"添加:

vbnet 复制代码
glfw3.lib
opengl32.lib
glew32.lib

5️⃣ 复制运行所需 DLL 文件(非常重要)

在运行时,必须将以下 DLL 复制到:

javascript 复制代码
$(ProjectDir)x64\Debug\
或
$(ProjectDir)x64\Release\

具体复制文件如下:

javascript 复制代码
$(SolutionDir)dependence\GLEW\bin\Release\x64\glew32.dll
$(SolutionDir)dependence\GLFW\lib-vc2022\glfw3.dll(如果 GLFW 使用动态版本)

📌 注意:放到 Debug / Release 哪一个文件夹,取决于你要运行哪种模式。


🎉 配置完成!

现在你已经成功在 Visual Studio 中配置好 GLEW + GLFW + GLAD + OpenGL 环境,可以开始编写 OpenGL 程序了。

相关推荐
无忧.芙桃27 分钟前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
沫璃染墨29 分钟前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构
有只小白叫岳飒1 小时前
c++智能指针 unique_ptr与函数调用
c++
Leo.yuan1 小时前
Kafka+Flink拼凑,还是FineDataLink 5.0一体化?实时数据处理的两种思路
c++·mfc
INGNIGHT2 小时前
944 · 最大子矩阵(前缀和)
数据结构·c++·算法
All for pursuit.3 小时前
【动态规划-6】96.不同的二叉搜索树
数据结构·c++·算法·leetcode·动态规划
大鹏的NLP博客4 小时前
C++ 内存安全的未来:从 Safety Profiles 到 Safe C++
c++·内存安全
程序员zgh4 小时前
C++ erase() 函数用法
c语言·开发语言·c++·学习
All for pursuit.5 小时前
【并查集-2】399.除法求值
数据结构·c++·算法·leetcode
程序喵大人6 小时前
【C++入门】编译链接模型 - 05 ODR 为什么会让重复定义变成工程炸点
开发语言·c++·编译链接·odr