Windows 10搭建 OpenGL 环境(C++)

news2025/1/21 1:02:57

1、创建 sdk 目录

IDE使用 Visual Studio 2022,在电脑上创建一个目录,用来存放要使用的 OpenGL 库,后面步骤中生成的各种库文件,都会放到这个目录,用于配置 VS 项目模板,本文将使用这个目录:F:\OpenGL\sdk(简称“sdk目录”),在sdk目录下创建两个子目录:lib 和 include

2、GLFW 窗口管理库

(1)下载 glfw 源码,把下载的源码中的 ..\glfw\include\GLFW 目录(包含要使用的头文件)复制到 ..\sdk\include 目录中

(2)下载 CMake,下载完解压后,双击 ..\cmake-3.27.3-windows-x86_64\bin\cmake-gui.exe 打开CMake,按照下图步骤编译代码

 双击输出目录中的 GLFW.sln 打开 VS,选择 x64,右键点击“解决方案”,然后点击“生成解决方案”,生成成功后, 在输出窗口中 Ctrl + F 搜索 “glfw3.lib”,

 把生成的 glfw3.lib 复制到 ..\sdk\lib 目录中

3、GLEW 拓展库

下载 glew,下载 Windows binaries for 32-bit and 64-bit 就行,下载完成解压后,把 lib\Release\x64\glew32.lib 复制到 ..\sdk\lib\ 目录,把 bin\Release\x64\glew32.dll 复制到 sdk 目录(这个只是为了后面方便找到这个文件,实际开发时需要手动添加引用),把 include\GL 整个文件夹复制到 ..\sdk\include 目录

4、GLM 数学库

下载 glm,把 glm 文件夹(包含.hpp)复制到 ..\sdk\include 目录

5、SOIL2 纹理图像加载库

下载 premake

下载 SOIL2,把 SOIL2\src\SOIL2 文件夹复制到 ..\sdk\include 目录

把 premake5.exe 复制到 SOIL2 目录,打开命令提示符,切到 SOIL2 目录,然后运行指令

premake5 vs2022

使用 VS 打开解决方案 ..\SOIL2\make\windows\SOIL2.sln,选择 x64,右键点击“soil2-static-lib”,然后点击“生成”,把生成的 soil2-debug.lib 复制到 ..\sdk\lib 目录

6、创建项目模板

创建一个C++空项目(名字随便起,比如 OpenGLProject),选择 Debug x64(后面选择Release把后面的步骤重复一遍),右键点击项目 OpenGLProject,点击“属性”,平台选择 x64,VC++目录 -> 常规 -> 包含目录,添加 ..\sdk\include 目录

链接器 -> 常规 -> 附加库目录,添加 ..\sdk\lib 目录

 链接器 -> 输入 -> 附加依赖项,添加4个文件名:

glfw3.lib

glew32.lib

soil2-debug.lib

opengl32.lib

 点击“应用”,“确定”,最后点击主窗口上面的“项目” -> 导出模板,以后新建项目的时候就可以选择整个项目模板来创建OpenGL项目了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【快应用】如何避免通知栏提示快应用一直获取地理位置

【关键词】 地理位置、subscribe、unsubscribe 【问题背景】 快应用中调用geolocation.subscribe接口获取地理位置,即使在定位完成后,会在通知栏一直显示某某快应用在获取地理位置,为了避免用户认为一直在获取他的位置,导致用户…

原码、补码、反码

一、前置概念 计算机底层存储数据时使用的是二进制数字,但是计算机在存储一个数字时并不是直接存储该数字对应的二进制数字,而是存储该数字对应二进制数字的补码。所以接下来我们需要来了解一下原码、反码和补码。 那么再了解原码、反码、补码之前&…

自动执行探索性数据分析 (EDA),更快、更轻松地理解数据

一、说明 EDA是 exploratory data analysis (探索性数据分析 )的缩写。所谓EDA就是在数据分析之前需要对数据进行以此系统性研判,在这个研判后,得到基本的数据先验知识,在这个基础上进行数据分析。本文将在R语言和python语言的探索性处理。 摄…

Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四)

Hadoop学习:深入解析MapReduce的大数据魔力之数据压缩(四) 4.1 概述1)压缩的好处和坏处2)压缩原则 4.2 MR 支持的压缩编码4.3 压缩方式选择4.3.1 Gzip 压缩4.3.2 Bzip2 压缩4.3.3 Lzo 压缩4.3.4 Snappy 压缩4.3.5 压缩…

蔡司关注全民运动眼健康:与蔡司智锐镜片KEEP住视力健康

众所周知,运动是对我们身体最大的投资,但是对于视力有问题的消费者来说,不合适的眼镜无疑是运动路上的绊脚石,跑步运动时眼镜总是往下掉,不仅没有相对稳定的视野,还特别没安全感,由此可见一副优…

1.物联网LWIP网络,TCP/IP协议簇

一。TCP/IP协议簇 1.应用层:FTP,HTTP,Telent,DNS,RIP 2.传输层:TCP,UDP 3.网络层:IPV4,IPV6,OSPF,EIGRP 4.数据链路层:Ethernet&#…

售后工单管理系统是什么?售后服务管理系统对企业有什么作用?

售后服务管理系统可以提高客户满意度、提升售后服务效率、实现客户关系管理、支持知识库和员工培训、以及数据分析和改进等多种作用,从而帮助企业提高售后服务质量和效率,增强客户忠诚度,提高整体运营效率。 1、集成化信息平台   系统可以实…

基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录 近期,第29届国际知识发现与数据挖掘大会(A…

android cocoscreator 检测模拟器还是真机

转载至 一行代码帮你检测Android模拟器 具体原理看原博主文章,这里只讲cocoscreator3.6的安卓工程怎么使用 1.新建一个com.lahm.library包,和com.cocos.game同目录,如图示 那四个文件的代码如下: EmulatorCheckUtil类&#…

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结

目录 1、国产化系统概述 1.1、国产化操作系统与国产化CPU 1.2、国产化服务器操作系统 1.3、当前国产化系统的主流配置 2、视频解码花屏与卡顿问题 2.1、视频解码花屏 2.2、视频解码卡顿 2.3、关于I帧和P帧的说明 3、国产显卡处理速度慢导致图像卡顿问题 3.1、视频延…

【Git】Git中用到的一些命令

Git文件有四种状态: 未跟踪未修改(已跟踪)已修改(已跟踪)已暂存(已跟踪) 通常我们将项目clone下来就会处于已跟踪状态 1、git diff命令 git diff:查看没有暂存的文件更新哪些部分…

Linux安装Solr-8.9.0

Solr的工作原理可以简单地概括为以下几个步骤: 1. 索引创建:首先,Solr需要创建一个索引,用于存储要搜索的数据。索引是基于Apache Lucene构建的,它将文档拆分为字段,并对字段进行分析和标记化,以…

Nature | 人工智能模型越大就越好吗?

随着生成式人工智能模型(AI)变得越来越大、越来越强大,一些AI科学家开始提倡更精简、更节能的系统。针对这个趋势,著名科技杂志《Nature》最近发表Anil Ananthaswamy博士的专题文章“人工智能模型总是越大型越好吗?”&…

vue3 + antv/x6 实现拖拽侧边栏节点到画布

前篇:vue3ts使用antv/x6 自定义节点 前篇:vue3antv x6自定义节点样式 1、创建侧边栏 用antd的menu来做侧边栏 npm i --save ant-design-vue4.x//入口文件main.js内 import Antd from ant-design-vue; import App from ./App; import ant-design-vue/…

redis 发布和订阅

目录 一、简介 二、常用命令 三、示例 一、简介 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 ,以及订阅这个频道的三个客户…

编程语言学习笔记-架构师和工程师的区别,PHP架构师之路

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…

ROS机器人启动move base时代价地图概率性无法加载的原因及解决方法

最近,使用ROS机器人,在启动move_base 节点时,概率性会出现全局和局部代价地图不加载的问题,此时,发布目标点也无法启动路径规划。而且该问题有时候出现概率很低,比如启动10次,会有1次发送该情况…

ASEMI逆变器专用整流桥GBU812参数,GBU812规格

编辑-Z GBU812参数描述: 型号:GBU812 最大峰值反向电压(VRRM):1200V 平均整流正向电流(IF):8A 正向浪涌电流(IFSM):200A 工作接点温度和储存温度(TJ, Tstg):-55 to 150℃ 最大热阻(RθJC)&#xff1…

node fs模块readFileSync报错SyntaxError: Unexpected token ‘*‘

node fs模块readFileSync报错SyntaxError: Unexpected token * 1.问题再现2.解决方法 1.问题再现 使用node的fs模块readFileSync读取文件时,报错了SyntaxError: Unexpected token 。文件的读取路径是没有问题的。 看到好像是读不了""也。 2.解决方法 …

08 Ubuntu安装docker || 四十五秒极速安装!真的极快,我使用了镜像

因为我是Ubuntu系统的,所以我下面只演示Ubuntu系统。 我使用的是“清华镜像”所提供的步骤,如果你曾多看过我几篇博客,就知道我真的十分喜欢使用清华镜像。 文末附带其他版本安装方式。 1 (删除旧版本) 如果你以前…