Skip to main content

实验准备

·230 words·2 mins
课程 实验准备 计算机图形学

实验准备 #

本实验推荐使用vscode、cmake、vcpkg、mingw64等工具进行开发,下面对这些工具进行简单介绍。

基本开发环境 #

Visual Studio Code (VSCode) #

  • 官网: VSCode官网
  • 简介: VSCode 是一个轻量级的代码编辑器,支持多种编程语言。它具有丰富的插件生态系统,以及强大的调试和集成终端选项。
  • 安装: 直接从官网下载安装。

请学习 这个链接完成cpp+mingw(或者msvc)的配置
请学习 这个链接完成vscode cmake的配置

CMake #

  • 简介: CMake 是一个开源的跨平台构建工具。它用于控制编译过程,使得代码可以独立于任何特定的编译器或平台。

MinGW64 #

  • 简介: MinGW64 是一个用于 Windows 平台的 GCC 编译器和工具链。它允许你在 Windows 下使用 GNU 工具进行开发。

vcpkg #

vcpkg 是一个命令行工具,用于管理 C++ 库和依赖。它的工作原理相当简单:下载源码,编译它,并且把库和头文件安装到一个统一的目录中。这样你就可以非常方便地使用它们。

官网根据教程安装vcpkg

基本命令 #

# 搜索可用库
vcpkg search [package-name]

# 安装库
vcpkg install [package-name]

# 删除库
vcpkg remove [package-name]

# 列出已安装的库
vcpkg list

上述命令中的 [package-name] 是你想要操作的库名。例如,要安装 GLFW 库,你可以使用 vcpkg install glfw3 命令。

动态库与 DLL 缺失问题 #

如果在使用 vcpkg 安装库时没有指定 static,那么 vcpkg 会默认安装动态链接库(DLLs)。这种情况下,你的应用程序在运行时需要这些 DLL 文件。如果这些 DLL 文件没有放在与应用程序可执行文件(.exe)相同的文件夹内,或者没有被添加到系统的 PATH 环境变量里,你就可能会遇到 DLL 缺失的错误。

Alt text

🐛
如果你打算分发你的应用程序,需要确保这些 DLL 文件与你的可执行文件一起分发,否则用户可能会遇到同样的问题。

在学习或开发阶段,使用静态库通常更为方便。所有的库代码都会被包含在最终的可执行文件里,这样你就不用担心运行时依赖问题。

配合mingw使用 #

# 使用 MinGW 可用的依赖库
vcpkg install [package-name]:x64-mingw-static

⚠️
如果你不指定 –triplet 或者不添加其他信息,Vcpkg 默认会安装适用于 MSVC 的版本。这意味着如果你使用其他编译器(例如 MinGW、GCC 等),这些库将无法使用。而且默认安装动态库版本,可能遇到 DLL 缺失的问题。

✔️
如果打算使用MSVC作为编译C++程序的工具链,使用以下命令

vcpkg install [package-name]:x64-windows-static

参考资料 #

依赖库介绍 #

OpenGL #

  • 官网: OpenGL Official Site
  • 简介: OpenGL(Open Graphics Library)是一个跨平台的图形API,用于渲染2D和3D图像。它提供了一系列底层的渲染命令。
  • 注意: OpenGL 本身是一个规范,不同的硬件厂商会提供各自的实现。

GLFW #

  • 官网: GLFW Official Site
  • 简介: GLFW 是一个专门为OpenGL设计的库,用于窗口管理、输入处理和事件处理。它提供了一个简化的API来创建窗口、读取输入等。
  • 安装: vcpkg install glfw3:x64-mingw-static

GLAD #

  • 简介: GLAD 是用于管理OpenGL的扩展加载的库。由于OpenGL是开放规范,不同的硬件可能会有不同的实现。GLAD用于解决这个问题,确保你可以使用各种不同的OpenGL扩展。
  • 安装: vcpkg install glad:x64-mingw-static

GLM #

  • 简介: GLM(OpenGL Mathematics)是一个只有头文件的C++数学库,专门用于OpenGL。它提供了矩阵运算、向量运算等功能。
  • 安装: vcpkg install glm:x64-mingw-static

Assimp #

  • 简介: Assimp(Open Asset Import Library)是一个导入和导出多种3D模型格式的库。
  • 安装: vcpkg install assimp:x64-mingw-static

yaml-cpp #

  • 官网: yaml-cpp GitHub Repository
  • 简介: yaml-cpp 是一个用于解析和生成YAML(Yet Another Markup Language)格式数据的C++库。
  • 安装: vcpkg install yaml-cpp:x64-mingw-static

stb_image #

  • 官网: stb GitHub Repository
  • 简介: stb_image 是一个用于图像加载(如JPG, PNG等)的C库,它是单头文件库,易于集成。
  • 安装: vcpkg install stb:x64-mingw-static

安装完之后,可以在vcpkg目录下的installed目录下查看是否安装成功。具体目录是mingw还是windows取决于安装的时候triplet的设置。

Alt text

Get Started #

在开始实验项目之前,请尝试根据 这个教程用opengl创建简单的窗口

项目结构 #

  1. build:这可能是一个输出或构建目录,通常用于存放编译后的对象文件和可执行文件。

  2. src:源代码目录,包含项目的主要代码。

  3. CMakeLists.txt:这是一个CMake文件,用于配置和生成项目。

Related

GL-PipeLine
·467 words·3 mins
课程 OpenGL 计算机图形学
vscode学opengl
·264 words·2 mins
课程 OpenGL vscode
BST Traversal
·133 words·1 min
刷题 二叉树