尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

OpenGL运行环境搭建学习01篇【Related to https://learnopengl-cn.github.io/】

OpenGL运行环境搭建学习01篇【Related to https://learnopengl-cn.github.io/】
📅 发布时间:2026/7/14 6:56:16
  • 别人给你发过来一个完整的项目压缩包,如何看懂并且在自己电脑上跑起来(这一步感觉以后很可能会被ai代替,不过可以培养培养思维)
  • visualstudio界面基础扫盲

一、前文环境搭建链接:

OpenGL运行环境搭建学习00篇【Related to https://learnopengl-cn.github.io/】-CSDN博客

二、常见项目包目录:

我们对于文件夹至少有一些基础的理解

  1. "src", "lib", "include",分别用于存放源码、库文件和头文件。
  2. 其中,"lib"文件夹下"debug", "release"文件夹,分别存放debug版本和release版本所使用的.lib文件。
  3. build:如果你使用cmake,cmake的.sln会在此目录下,涉及路径代码会在此查找。

所以我们用的到的就是"src", "lib", "include","build''这四个文件夹

三、资源使用(现成项目)

cmake3.5+,32位,VS2019

  1. visualstudio2019版,2019版配置基本类似,就是注意版本要选2019
  2. 32位配置
  3. 安装CMake,要求 CMake版本至少为3.5,用于项目构建

camke下载

CMake是一个跨平台的项目构建工具,简单说就是:帮你自动生成各种编译器能识别的项目文件。

CMake 根据你的描述(CMakeLists.txt),自动生成适合当前平台的构建配置文件(在 Windows 下就是 .sln + .vcxproj),里面已经包含了所有编译所需的配置信息。

(也就是它相当直接于帮我们完成环境配置+代码载入了)

Download CMake:

依旧老位置D盘

按自己理解尝试使用2022运行:

手动创建新项目sln复制式:

新建一个空项目,准备项目目录用来复制:
选中然后下一步

起名字并在项目目录下把作业文件夹"src", "lib", "include"以及"CMakeLists"复制过来

大小文件夹

运行CMake工具:
将CMakeList.txt所在目录输入到源码目录一栏("Where is the source code: ")。依照习惯,在恰当位置建立文件夹"build"用以存放生成的文件。将build文件夹路径输入到下一栏中。随后点击Configure按钮,进行生成配置。

按要求选32位,然后finish。出现Configuring done之后,记得点击Generate生成文件。
最后build文件夹有以下目录:

用VS2022打开CGAssignment1.sln文件,会启动三个项目,如下所示,分别是ALL_BUILD、 CGAssignment1和ZERO_CHECK,我们只需关注CGAssignment1项目。

第一次打开默认启动的项目是ALL_BUILD,因此需要将CGAssignment1设置为启动项目,鼠标箭 头移到CGAssignment1上并单击鼠标右键,在弹出的选项中点击设为启动项目即可。

由于本框架代码运算量大,我选择在Release模式下编译该项目, 在需要Debug的时候再切换到Debug模式,编译成功并运行后将弹出一个窗口,表示构建成功。可通过点击窗口左上角的x按钮或者按键盘的 ESC键退出窗口,终止程序运行。

提示缺少sdl2,在此处加SDL2.dll,但是失败,先尝试src代码行不行(应该还是要在属性里面添加)


(这个是visualstudio内窗口右击项目-->属性-->

win系统特性:

Windows 的运行时 DLL 搜索机制决定的。程序启动时,系统按这个顺序找SDL2.dll:

  1. exe 所在的目录(最优先)

  2. 系统目录(C:\Windows\System32)

  3. PATH 环境变量里的目录

所以如果你的build/Debug/里只有CGAssignment1.exe,没有SDL2.dll,系统就找不到,直接弹窗报错。

所以我们把SDL2.dll复制到build文件中的"Release"和"Debug"下。

(此处用项目2图做例图)

此处惊鸿一瞥原文件夹目录,大佬提供的文件夹里面有一个build文件夹长这样:

这个并不像是我们使用过cmake工具以后的build目录,几乎只有一些类似我们之前环境配置的外部文件?

已知build里面"Release"和"Debug"有必须使用的文件,那么这个"model"也不简单:

这个是项目要加载的 3D 模型文件,会在main.cpp里面调用,而且使用的是目录查找,这个文件目录结构建议保留。

所以我们应该把大佬给的整个build也复制过去 对吗?

ok啊,复制过去之后再cmake,编译的时候确实正常了

但是cmake也会生成.sln文件----->有种多此一举的感觉。

我们和代码打交道也知道很多时候目录是可以自行加包降级的,而且cmake生成的sln和我们手动生成的几乎同级,都需要调用外面的头文件、库文件和源文件。手动生成的这个不仅没有配置好项目的环境,对比cmake的,它代码都需要手动链接。

也就是说如果我们收到的是大佬精心准备的干净项目包,我们可以直接保留原文件备份之后在原文档目录直接cmake就行,不用在visualstudio里面新建项目。

原项目资源文件夹cmake一键式:

原项目文件内容展示

为了方便管理,我把项目放到了下载VisualStudio时项目方案的位置,避免重名我改成了2

运行cmake:
此处同样直接把包含CMakeList.txt的项目方案目录输入到源码目录一栏("Where is the source code: ")。将build文件夹路径输入到下一栏中。随后点击Configure按钮,进行生成配置。

按要求选32位,然后finish。出现Configuring done之后,记得点击Generate生成文件。

这次build里面生成如下

打开sln文件之后,我们将CGAssignment2设置为启动项目,鼠标箭 头移到CGAssignment2上并单击鼠标右键,在弹出的选项中点击设为启动项目即可。

release之后,其目录为:

运行很顺畅操作也很简单。

四、VisualStudio界面使用

一、顶部工具栏

这个按钮既不是单纯的 Build,也不是单纯的编译——它是"启动调试"(Start Debugging)。并且是调试的我们设为启动项目的。

这个按钮 = "先 Build(如果需要),再启动调试运行"。

平时用 Debug(能断点调试);交作业前可切 Release 测试

但如果想要快,也可平常直接Release,需要的时候再debug

二、解决方案资源管理器(右侧/左侧)

这里的代码文件一般都是链接关系,如果你是自行添加,需要注意保护好本地原文件,因为这里右击添加文件是定向到你所选,并不会在我们的项目文件夹内部生成自己的源文件。

三、底部窗口:输出 / 错误列表

  1. 看错误列表有几个报错

  2. 双击错误,VS 自动跳转到对应代码

五、总结:

visualstudio核心的作用是编译(Integrated Development Environment集成开发环境)

build在项目目录内的作用

成熟项目和环境搭建构建项目的区别

visualstudio(IDE系列):链接库 + 编译 cpp --> exe

build:存放编译后的文件和构建工具的文件夹,它包含大量的临时文件和中间文件,并且可以通过源代码重新构建。但是很多时候内置的项目方案需要它准备相应目录和文件

首先,别人提供的成熟项目文件等于我们的解决方案文件夹(只不过不一定包含可以运行的.sln文件),我们可以通过像搭建环境一样将里面的include和lib装载到一个".sln"文件夹里,这样会生成与“lib”等并列的sln文件;也可以通过cmake一步生成(选择生成visualstudio项目)几乎可以直接编译(环境、头文件、源文件都装载好)的sln文件,这样会在新生成的"build"文件夹内生成sln文件目)。

附加(关于环境准备使用cmake对source code编译粗想法)

翻译一下就是,我们下载GLEW等的源码,我们自行编译需要的形式(静态/动态)

通过前面的摸索我们会知道lib、build里面debug和release这两个一般存在于sln所在文件夹之内(与sln平级或者低级,不过也可以通过修改exe的输出目录,一般不改,这个可以用来勘误自己的项目)。

前置环境配置我们知道lib它会有debug和release之分,所以,用cmake生成GLEW或者GLFW的sln之后,我们只需要确定项目是静态编译的(/MT)还是动态编译的(/MD)

然后通过Build Solution获取我们生成的空项目lib依赖里面的debug和release(更新版)

(具体位置看情况,找名字不会错)

有时间会实操一下

最后

因为2022可以运行成功,我没有下载2019,基本配置都是一样的,祝使用顺利。

相关新闻

  • 我的世界Java版安装指南:从Java环境配置到游戏启动完整教程
  • 移位寄存器链:从 DPD 内存深度到 CNN 滑动窗口
  • 多模态情感识别技术:原理、实现与优化

最新新闻

  • 长春黄金回收价每克按大盘减5-10元,今天能卖多少钱?防坑价盘全讲透 - 小城生活闲谈
  • 2026年7月最新太原天梭官方售后热线及客户服务网点地址 - 天梭服务中心
  • Claude Mythos:通用AI驱动的零日漏洞发现与沙箱逃逸新范式
  • 积家中国官方售后服务中心|服务电话及24小时维修地址权威信息声明(2026年7月更新) - 积家官方售后服务中心
  • 解决Navicat连接PostgreSQL 15的datlastsysoid错误
  • Linux操作系统核心架构与实战应用指南

日新闻

  • AWS SSM安全运维实践:零公网暴露的合规远程开发方案
  • Tableau 2024.1 图表选择指南:5种业务场景与最佳图表类型匹配
  • dsPIC33FJ与CMT-8540S-SMT在嵌入式音频处理中的高效应用

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号