本文参考: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. 第k大的数

    问题描述:输入一组数,指定一个k,输出这组数里第k大的数. 一般这种题目,第一想法是把整个数组先排序后,再选取第k位的数.但是这样做实际上浪费了大量的时间在排序上,我们只是要求第k大的数,并非要把整个 ...

  2. 超漂亮的CSS3按钮制作教程分享

    要求 必备知识 基本了解CSS语法,初步了解CSS3语法知识. 开发环境 Adobe Dreamweaver CS6/Chrome浏览器 演示地址 演示地址 利用CSS3属性制作按钮,我们只需要用到G ...

  3. Python学习--18 进程和线程

    线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程 ...

  4. 前端通信:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码(改迭代已作废,移步迭代10)

    该迭代已作废,最新的请移步这里:https://www.cnblogs.com/GerryOfZhong/p/10726306.html 距离上一篇博客书写,又过去了大概几个月了,这段时间暂时离开了这 ...

  5. js便签笔记(14)——用nodejs搭建最简单、轻量化的http server

    1. 引言 前端程序猿主要关注的是页面,你可能根本就用不到.net,java,php等后台语言. 但是你制作出来的网页总要运行.总要测试吧?——那就免不了用到http server.我先前都是用vis ...

  6. mysql 删除单表内多个字段重复的数据

    mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) ...

  7. 比較C struct 與 C# unsafe struct内存分佈

    昨晚在群裏無意間看到一個朋友有一個需求.他是在C裏面將兩個結構體(HeadStruct,BodyStruct)的内存數據直接通過socket send發給C#寫的服務端來處理.當然他之前所使用的需求基 ...

  8. [转]bootstrap栅格系统的属性及使用

    本文转自:https://www.cnblogs.com/LJYqq/p/6791512.html 栅格系统 媒体查询 在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query) ...

  9. 使用Visual Studio 调试断点不起作用的问题解决办法 调试Revit CAD 不能进入断点

    随着Visual Studio 2010正式版的发布,相信不少人都像我一样升级到了Visual Studio 2010.那么您在使用VS2010在AutoCAD,Map 3D或Revit的.net应用 ...

  10. WPF--模板选择

               典型的,把模板关联到一块特定的数据上,不过通常希望动态的确定使用哪个模板---既可以基于一个属性值,也可以是一个全局状态.当真正需要大规模替换模板时,也可以使用DataTempl ...