首页 教程 开发工具 【OpenGL】配置Microsoft Visual Studio 2022环境

【OpenGL】配置Microsoft Visual Studio 2022环境


前言
本篇文章对VS2022配置OpenGL环境进行概述,侧重点主要是实际配置操作步骤,部分理论较少。看别人的文章太乱了,而且有时候侧重点太过于理论,老是找不到一篇自己想要的文章,索性自己写一篇,有不足之处还望海涵。
目的:快速配置OpenGL环境,windows上的配置步骤都大差不差,so,得此篇者得天下!


目录

  • 1、环境、第三方库及其辅助工具
  • 2、辅助工具安装及其使用
    • 2.1、GLView
      • 2.1.1、GLView下载与安装
      • 2.1.2、GLView的使用
    • 2.2、premake
      • 2.2.1、premake下载与安装
      • 2.2.2、premake的使用
  • 3、OpenGL相关库的获取
    • 3.1、GLFW库的获取
    • 3.2、GLEW库的获取
    • 3.3、GLM库的获取
    • 3.4、SOIL2库的获取
  • 4、配置环境
    • 4.1、创建库文件夹结构
    • 4.2、准备共享的库和include文件
    • 4.3、配置VS2022 OpenGL环境
      • 4.3.1、配置VS2022环境
      • 4.3.2、调试代码
  • 5、小结

1、环境、第三方库及其辅助工具

下面是搭建OpenGL环境涉及的环境(包括:windows、集成开发环境IDE)、用于查看电脑系统自带的OpenGL版本的工具GLView、本人电脑系统自带OpenGL版本、配置环境涉及的库(GLFW、GLEW、GLM、SOIL2)以及生成SOIL2库所需的辅助工具premake。

  • 环境
  1. windows:10
  2. IDE:Microsoft Visual Studio 2022
  • 查看当前电脑OpenGL版本
  1. GLView:7.2.8
  2. OpenGL:4.4
  • 配置环境涉及的库
  1. GLFW:3.4
  2. GLEW:2.1.0
  3. GLM:1.0.1
  4. SOIL2:1.20
  • 辅助工具
  1. premake:5

接下来对GLView、GLFW、GLEW、GLM、SOIL2、premake进行一个概述,有助于了解它们到底是有什么用,既然要使用它就要知道它们都是干什么的对吧!

2、辅助工具安装及其使用

OpenGL环境配置涉及两个工具,一个是GLView,一个是premake
GLView:用于查看OpenGL版本
premake:用于生成SOIL2静态库

2.1、GLView

OpenGL Extension Viewer是一款显卡测试工具,可以快速,有效地帮助用户查询,测试出显卡的FPS,对绘图处理器、OpenGL API的侦测等,检测OpenGL计算能力,是款非常值得信赖的软件。
说白了,就是可以用该软件测试当前显卡支持的OpenGL版本。

2.1.1、GLView下载与安装

  • 官方下载地址:OpenGL Extension Viewer
  • 下载安装步骤:
  1. 点击上述链接进入官网后,可以选择不同的GLview版本(有windows、Mac等不同的操作系统对应版本,分4.x,5.x,6.x等),我这边选择的是最新的(进入网页之后应该也是最新的,不需要选择)。
    【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 选择好下载版本之后,点击[Download],下载安装包;
    【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 下载完成之后,以管理员身份启动安装程序;
    【OpenGL】配置Microsoft Visual Studio 2022环境
  4. 选择语言:中文(简体),点击[OK];
    【OpenGL】配置Microsoft Visual Studio 2022环境
  5. 进入安装向导后,点击[下一步];
    【OpenGL】配置Microsoft Visual Studio 2022环境
  6. 许可证协议:点击[我接受];
    【OpenGL】配置Microsoft Visual Studio 2022环境
  7. 选择组件:点击[下一步];(如果熟悉这个软件的话,可以自行选择组件)
    【OpenGL】配置Microsoft Visual Studio 2022环境
  8. 选择安装位置:在选择好安装位置(看个人情况吧,C盘空间多那就不用修改了,不然的话就改到系统盘以外),点击[安装]即可;
    【OpenGL】配置Microsoft Visual Studio 2022环境
  9. 安装结束后,点击[完成];
    【OpenGL】配置Microsoft Visual Studio 2022环境

2.1.2、GLView的使用

  • 使用GLView查看当前电脑的OpenGL版本。

软件的使用也比较简单,直接运行软件之后,GLView会自动分析电脑当前信息。
【OpenGL】配置Microsoft Visual Studio 2022环境

2.2、premake

Premake是一款开源的命令行工具,用于生成构建配置文件。它读取用脚本定义的软件项目,并使用这些定义来执行构建配置任务或生成适用于多种工具集(如Visual Studio、Xcode和GNU Make)的项目文件。
(大概意思就是用于生成库的辅助工具,感觉应该跟cmake差不多。在本文中的作用就是辅助生成SOIL2静态链接库。)

2.2.1、premake下载与安装

  • 官方下载地址:premake
  • 下载安装步骤:
  1. 点击上述链接进入官网后可以看到premake也分不同的操作系统,选择对应的操作系统[windows]后,会直接跳转到下载;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 下载完成之后,解压;
    【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 解压之后得一个可执行程序premakeX.exe;
    (X表示版本,常见的有premake4.exe、premake5.exe,不出意外应该是都可以用的。)
    (premake是不需要安装的,解压缩出来就可以直接使用)【OpenGL】配置Microsoft Visual Studio 2022环境

2.2.2、premake的使用

这里不列举premake的使用,在后面配置SOIL2库的时候会讲述如何使用premake生成SOIL2静态链接库。

3、OpenGL相关库的获取

概述

  • GLFW:跨平台的窗口创建和管理库
  • GLEW:跨平台的C++扩展库,基于OpenGL图形接口
  • GLM:基于GLSL规范的C++数学库
  • SOIL2:图像加载库SOIL的分支版本,用于读取图片并做出相应的处理

个人建议:按照下述步骤准备各种动态链接库的时候,可以按照如下图示结构存放,避免文件太杂乱。【OpenGL】配置Microsoft Visual Studio 2022环境
比如下方的截图就是我按照上述图示结构存放获取相关库的路径:【OpenGL】配置Microsoft Visual Studio 2022环境

3.1、GLFW库的获取

  • 官方下载地址:GLFW
  • 获取步骤:
  1. 点击上述链接进入官网以后,可以看到有[Source package]和不同操作系统的[binaries],也就是说官方很贴心的为我们准备了两种选择,要么下载源文件[Source package],然后自行在操作系统上进行编译,要么直接下载对应操作系统已经编译好的[binaries],直接使用即可。
    [Source package]操作难度较大,像我这种小趴菜,当然是选择[binaries]啦!!!
    【OpenGL】配置Microsoft Visual Studio 2022环境
    :并不是64位windows就需要选择64-bit的GLFW。选择哪个取决于你的项目的实际需要的架构。比如构建win32或者x86的项目,那就需要一个32-bit的二进制文件。如果构建的是64位或者x64的应用,那可能就需要选择64-bit的二进制文件。
  2. 下载完成之后,解压;
    【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 解压之后得到如下文件列表,此时就完成了GLFW库的准备工作。
    【OpenGL】配置Microsoft Visual Studio 2022环境

3.2、GLEW库的获取

  • 官方下载地址:GLEW
  • 获取步骤:
  1. 点击上述链接进入官网以后,可以看到目前的最新版本信息,也是分为[Source]和[Binaries]两种资源,有经验的大佬可以自行下载[Source],进行相应的编译操作。
    我呢?老规矩,这里直接下载[Binaries]。
    【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 点击下载之后会有一个跳转界面的过程,不要慌,等待它几秒钟后就会提示下载;【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 下载完成之后,解压;【OpenGL】配置Microsoft Visual Studio 2022环境
  4. 解压之后得到如下文件列表,此时就完成了GLEW库的准备工作。【OpenGL】配置Microsoft Visual Studio 2022环境

3.3、GLM库的获取

  • 官方下载地址:GLM
  • 获取步骤:
  1. 点击上述链接进入官网以后(咦?怎么进GitHub上获取?这TM不会是三方发布吧?正规么?放心好了,GLM库就是用GitHub库作为发布平台的,包正规的!),往下翻会有其他版本的GLM库,一般的话直接点击[Code],然后点击[Download ZIP]下载到本地即可;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 下载完成之后,解压;【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 解压之后得到如下文件列表,此时就完成了GLM库的准备工作;【OpenGL】配置Microsoft Visual Studio 2022环境

3.4、SOIL2库的获取

  • 官方下载地址:SOIL2
  • 获取步骤:
  1. 点击上述链接进入官网以后,SOIL2也是通过GitHub发布,跟GLM下载相同,也是点击[Code],然后点击[Download ZIP],开始下载。【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 下载完成之后,解压;【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 解压完成之后得到如下文件列表,此时就完成了个der,还没弄完呢,SOIL2库与其他的库不同,需要使用premakeX.exe处理一下,然后再手动生成一下,继续继续;
    下面是解压之后的文件列表;【OpenGL】配置Microsoft Visual Studio 2022环境
  4. 将premakeX.exe拷贝到与premakeX.lua同路径下(比如我下载的是premake5.exe,那么就把premake5.exe拷贝到该路径下,有的可能下载的是premake4.exe,没关系,因为该路径下还有一个premake4.lua,也是可以用的);【OpenGL】配置Microsoft Visual Studio 2022环境
  5. 拷贝过来之后,通过指令使用premake5来生成Visual Studio 2022的项目文件。
  • premake5.exe对应指令: premake5 vs2022
  • premake4.exe对应指令: premake4 vs2022
    注:通过运行这个指令,premake5将会生成适用于Visual Studio 2022的项目配置文件,以便在Visual Studio中打开和构建项目。
  • 普通执行步骤:按下键盘[win]+[r],输入cmd,点击[确定],启动命令提示符后通过cd指令进入对应文件夹路径下,执行上述指令即可;
  • 简单执行步骤:直接在文件夹的路径位置输入cmd,按下键盘[Enter],直接执行上述指令即可;

(1).在当前路径下,鼠标点击一下图示路径位置; 【OpenGL】配置Microsoft Visual Studio 2022环境
(2). 直接输入cmd;【OpenGL】配置Microsoft Visual Studio 2022环境
(3). 按下键盘[Enter],启动命令提示符;【OpenGL】配置Microsoft Visual Studio 2022环境
(4). 拷贝上述指令,直接粘贴到命令行中;【OpenGL】配置Microsoft Visual Studio 2022环境
(5). 按下键盘[Enter],等待执行结束;【OpenGL】配置Microsoft Visual Studio 2022环境

  1. 进入…\make\windows文件夹中,使用VS2022打开SOIL2.sln;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 选择对应的配置(比如我的是在win32项目上测试,我选择的win32,你也可以选择x64,由你后面创建的OpenGL项目决定),然后生成一下soil2-static-lib项目(右击[soil2-static-lib],点击[生成]);【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 此时查看生成的输出内容,就能找到生成的lib库在哪个路径下,此时就完成了SOIL2库的准备工作;【OpenGL】配置Microsoft Visual Studio 2022环境

4、配置环境

OpenGL的环境配置就是配置GLFW、GLEW、GLM、SOIL2,目前我的配置的就是这四个库,后续如果有其它更好的库并且可以应用,将更新到该文章中。

4.1、创建库文件夹结构

创建文件夹结构存放对应的头文件、lib、dll,为了方便使用。

  • 按照如下文件结构创建各文件夹;【OpenGL】配置Microsoft Visual Studio 2022环境

4.2、准备共享的库和include文件

  • 准备GLFW库
  1. include:按照下图所示,将准备的GLFW文件路径下的.\\include\\GLFW整个文件夹拷贝到上述文件结构中的.\\OpenGLTemplate\\include路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. lib:按照下图所示,将准备的GLFW文件路径下的.\\lib-vc2022\\glfw3.lib文件拷贝到上述文件结构中的.\\OpenGLTemplate\\lib路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  • 准备GLEW库
  1. include:按照下图所示,将准备的GLEW文件路径下的.\\include\\GL整个文件夹拷贝到上述文件结构中的.\\OpenGLTemplate\\include路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. lib:按照下图所示,将准备的GLEW文件路径下的.\\lib\\Release\\Win32\\glew32.lib文件拷贝到上述文件结构中的.\\OpenGLTemplate\\lib路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  3. dll:按照下图所示,将准备的GLEW文件路径下的.\\bin\\Release\\Win32\\glew32.dll文件拷贝到上述文件结构中的.\\OpenGLTemplate\\dll路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  • 准备GLM库

include:按照下图所示,将准备的GLM文件路径下的.\\glm整个文件夹拷贝到上述文件结构中的.\\OpenGLTemplate\\include路径下;【OpenGL】配置Microsoft Visual Studio 2022环境

  • 准备SOIL2库
  1. include:按照下图所示,将准备的SOIL2文件路径下的.\\src\\SOIL2整个文件夹拷贝到上述文件结构中的.\\OpenGLTemplate\\include路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. lib:按照下图所示,将按照文章中3.4中生成的lib拷贝到对应文件夹中;
    比如我的是从准备的SOIL2文件路径下的.\\lib\\windows\\soil2-debug.lib文件拷贝到上述文件结构中的.\\OpenGLTemplate\\lib路径下。【OpenGL】配置Microsoft Visual Studio 2022环境

4.3、配置VS2022 OpenGL环境

4.3.1、配置VS2022环境

  1. 启动VS2022,创建新项目;【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 创建新项目:选择控制台应用,点击[下一步];【OpenGL】配置Microsoft Visual Studio 2022环境
  3. 配置新项目:输入项目名称,选择项目路径,勾选[将解决方案和项目放在同一目录中],点击[创建];【OpenGL】配置Microsoft Visual Studio 2022环境
  4. 将文章4.1中创建的库文件夹OpenGLTemplate拷贝到新创建项目的解决方案同路径下;【OpenGL】配置Microsoft Visual Studio 2022环境
  5. 回到创建的项目中,将解决方案平台设置为x86;【OpenGL】配置Microsoft Visual Studio 2022环境
  6. 右键解决方案,点击[属性];【OpenGL】配置Microsoft Visual Studio 2022环境
  7. 点击[VC++ 目录],点击[包含目录],点击[编辑];【OpenGL】配置Microsoft Visual Studio 2022环境
  8. 将下述路径添加到"包含目录"中,点击[确定];
    .\OpenGLTemplate\include【OpenGL】配置Microsoft Visual Studio 2022环境
  9. 继续在属性中,展开[链接器],点击[常规],点击[附加库目录],点击[编辑];【OpenGL】配置Microsoft Visual Studio 2022环境
  10. 将下述路径添加到"附加库目录"中,点击[确定];
    .\OpenGLTemplate\lib【OpenGL】配置Microsoft Visual Studio 2022环境
  11. 点击[输入],点击[附加依赖项],点击[编辑];【OpenGL】配置Microsoft Visual Studio 2022环境
  12. 将下述.lib添加到"附加依赖项"中,点击[确定];
    glfw3.lib
    glew32.lib
    opengl32.lib
    soil2-debug.lib
    【OpenGL】配置Microsoft Visual Studio 2022环境
  13. 点击[应用],点击[确定],此时就完成了OpenGL环境的配置;【OpenGL】配置Microsoft Visual Studio 2022环境

4.3.2、调试代码

完成了OpenGL环境配置后,可以使用如下代码简单调试。

#include <iostream> #include <GL/glew.h> #include <GLFW/glfw3.h> #include <glm/glm.hpp> #include <glm/gtc/matrix_transform.hpp> #include <glm/gtc/type_ptr.hpp> void display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(-0.5f, -0.5f); glVertex2f(0.5f, -0.5f); glVertex2f(0.0f, 0.5f); glEnd(); } void main() { glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); #ifdef __APPLE__ glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); #endif GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpengl", NULL, NULL); if (window == NULL) { std::cout << "Failed to create CLFW window" << std::endl; glfwTerminate(); return; } glfwMakeContextCurrent(window); //GLAD /*if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) { std::cout << "Fail to initialize GLAD"; return; }*/ // 使用glm库进行矩阵变换示例 glm::mat4 transform = glm::mat4(1.0f); transform = glm::translate(transform, glm::vec3(0.0f, 0.0f, 0.0f)); //渲染循环 int count = 0; float red = 1.0f, green = 0.0f, blue = 0.0f; while (!glfwWindowShouldClose(window)) { if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) glfwSetWindowShouldClose(window, true); count++; switch (count) { case 1200: glClearColor(1.0f, 0.0f, 0.0f, 1.0f); break; case 2400: glClearColor(0.0f, 1.0f, 0.0f, 1.0f); break; case 3600: glClearColor(0.0f, 0.0f, 1.0f, 1.0f); count = 0; break; default: break; } glClear(GL_COLOR_BUFFER_BIT); //状态使用 display(); //渲染 // glfw:交换缓冲区和轮询IO事件(按键按下或释放,鼠标移动等) glfwSwapBuffers(window); glfwPollEvents(); } //回收前面分配的GLFW资源 glfwTerminate(); }

  1. 将上述代码直接拷贝到"项目.cpp"文件中(如果项目.cpp中有main函数,记得删掉),右击解决方案,点击[生成];【OpenGL】配置Microsoft Visual Studio 2022环境
  2. 生成之后,运行即可查看如下运行结果(界面红、绿、蓝三色交替),即为环境配置成功!【OpenGL】配置Microsoft Visual Studio 2022环境

5、小结

到此就完成了OpenGL的VS2022环境配置,仅仅是做了一个例子,后面可以根据上手的项目自由处理,比如可以生成模板,在创建新项目的时候可以直接使用模板创建项目,就可以省去这些配置过程。
即:一劳永逸。

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.18k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.24k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.16k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.09k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  491

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  316

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。