本文参考:https://learnopengl-cn.github.io/

一 下载GLFW(https://www.glfw.org/download.html)  和 GLAD(https://glad.dav1d.de/)

  ①GLFW,这里保证生成的库是兼容你的操作系统和CPU的,选择源代码(Source package),自己去编译。

  ②GLAD,将语言设置为C/C++, gl选择3.3以上版本,模式设置为Core,选中Generate a loader,点击生成,下载zip文件后解压。

二 CMake生成工程文件(CMake下载地址:https://cmake.org/download/)

  ①启动CMake,Browse Source输入GLFW的目录, Browse Build输入编译输出的目录

  ②点击Configure,CMake读取Browse Source目录的设置和源代码,并且弹出窗口,选择Visio Studio 15 2017, Use Deafault native compiler。

  点击Finish。

  ③再次点击Configure保存配置。

  ④点击Generate,Browse Build目录会生成兼容操作系统和CPU的VS2017工程文件。

三 VS编译工程文件,生成glfw3.lib。

  在CMake生成目录即Browse Build目录里找到GLFW.sln文件,用VS2017打开。直接点击生成解决方案,在src/Debug目录就会生成glfw3.lib库文件。

四 头文件和库文件放置

  这儿我在F盘创建VSIncludeLibFiles文件夹,创建子文件夹Include和Libs,把头文件和库文件都放在这,方便管理。

  ①把下载的glfw中include路径下的GLFW文件夹复制到F:\VSIncludeLibFiles\Include路径。

     把下载的glad中include路径下的二个文件夹glad,KHR全复制到F:\VSIncludeLibFiles\Include路径。

  ②把VS编译生成的glfw3.lib库文件放到F:\VSIncludeLibFiles\Libs目录。 

五 链接头文件和库文件

  ①创建C++空项目OpenGL

  

  ②vs资源管理器中右击OpenGL项目->属性->配置属性->VC++目录,包含目录

  

  点击编辑,输入include目录F:\VSIncludeLibFiles\Include,点击确定:

  ③vs资源管理器中右击OpenGL项目->属性->配置属性->VC++目录,库目录

  点击编辑,输入F:\VSIncludeLibFiles\Libs库目录,点击确定。

  ④上一步只是指定库目录,vs不会自动依赖这些库文件,必须我们去指定。

  点击链接器 -> 输入 -> 附加依赖项,点击右侧扩展箭头,输入依赖 opengl32.lib   glfw3.lib,每个库之间要加回车,点击确定。  

    注:

  opengl32.lib是系统自带的。

六 把glad/src目录下的glad.c文件拖入vs项目中。

至此,开发环境就搭建好了,下节课测试这个开发环境。

Windows10+VS2017 用GLFW+GLAD 搭建OpenGL开发环境的更多相关文章

  1. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  2. 利用CodeBlocks结合freeglut快速搭建OpenGL开发环境

    利用CodeBlocks结合freeglut快速搭建OpenGL开发环境 2018-12-19 10:15:48 再次超越梦想 阅读数 180更多 分类专栏: 我的开发日记   版权声明:本文为博主原 ...

  3. Windows10系统下使用Docker搭建ClickHouse开发环境

    前提 随着现在业务开展,几个业务系统的数据量开始急剧膨胀.之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加 ...

  4. Xcode下搭建OpenGL开发环境

    #include <GLUT/GLUT.h> void display() { glClear(GL_ENABLE_BIT); glBegin(GL_POLYGON); glVertex2 ...

  5. [Modern OpenGL系列(一)]十步搞定OpenGL开发环境

    本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51292143 OpenGL官网:https://www.opengl.or ...

  6. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

  7. Windows10搭建PHP7开发环境

    原文:Windows10搭建PHP7开发环境 3年前写了一篇<Windows下搭建PHP开发环境>之后就再也没有碰过PHP了,最近新发布了PHP7然后回去看了一下之前写的文章,发现很多配置 ...

  8. OpenGL学习进程(2)OpenGL开发环境的搭建

        通过本节,我们来学习一下在Win10 64.VS1013环境下搭建OpenGL的开发环境.     (1)选择一个编译环境: 现在在windows中OpenGL的主流编译工具有Visual S ...

  9. Ubuntu下OpenGL开发环境的搭建

    由于上了计算机图形学的课,老师叫我们安装OpenGL开发环境,晚上安装了一两个小时,终于搞定了. 1.      建立基本编译环境 sudo apt-get install build-essenti ...

随机推荐

  1. 五、CLR加载程序集代码时,JIT编译器对性能的产生的影响

    1.CLR首次加载代码造成的性能损失 四.CLR执行程序集中代码介绍了CLR在首次执行一个类的时,会初始化一个内部结构,然后当目标方法被首次调用时,JITComplier函数(JIT编译器)会验证IL ...

  2. Spring Boot 基础概述与相关约定配置

    今天打算整理一下 Spring Boot 的基础篇,这系列的文章是我业余时间来写的,起源于之前对微服务比较感兴趣,微服务的范畴比较广包括服务治理.负载均衡.断路器.配置中心.API网关等,还需要结合 ...

  3. C#基础篇五值类型和引用类型

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace P01M ...

  4. Spring Boot使用JWT实现系统登录验证

    简介 什么是JWT(Json Web Token) jwt是为了在网络应用环境间传递声明而执行的一种基于json的开放标准.该token被设计紧凑且安全的,特别适用于SSO场景.jwt的声明一般被用来 ...

  5. 让浏览器兼容ES6语法(gulp+babel)

    使用gulp+babel搭建ES6环境 前言 我们查阅资料可以知道ECMAScript 2015(简称ES6)已经于2015年发布,由于用户使用的浏览器版本在安装的时候可能早于ES6的发布,而到了今天 ...

  6. HashMap底层原理分析(put、get方法)

    1.HashMap底层原理分析(put.get方法) HashMap底层是通过数组加链表的结构来实现的.HashMap通过计算key的hashCode来计算hash值,只要hashCode一样,那ha ...

  7. 理解nodejs的module模块儿

    module 在 Node.js 模块系统中,每个文件都视为独立的模块,node在运行某个模块儿时会生成一个module对象 Module { id: '.', exports: 2, parent: ...

  8. ikanalyzer分词,计算信息熵排序分词结果

    因需求,现需分词接口,故记录之. 1.需要依赖: <!-- https://mvnrepository.com/artifact/com.janeluo/ikanalyzer --> &l ...

  9. MyCat安装配置

    Mycat : 数据库分库分表中间件 http://www.mycat.io/ mycat运行需要JVM,所以先安装java环境,JDK1.7以上.数据库采用mysql5.7,或者8.0 下载 下载地 ...

  10. 深入理解Java线程池:ThreadPoolExecutor

    线程池介绍 在web开发中,服务器需要接受并处理请求,所以会为一个请求来分配一个线程来进行处理.如果每次请求都新创建一个线程的话实现起来非常简便,但是存在一个问题: 如果并发的请求数量非常多,但每个线 ...