本文参考: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. Log4j 相关

    Log4j(Log for Java) Log4j是Apache提供的一种专门用于Java程序记录日志的工具,是目前主流的开发日志技术. 日志的作用: 1.记录系统运行过程中的重要运行信息 a) 付费 ...

  2. C++ 操作符、局部 全局变量及自动转换原则

    1.&:表示与操作,eg:2&1=2&&:表示and操作,eg:1&&0=0|:表示或操作,eg:2|1=3||:表示or操作,eg:1||0=12.全 ...

  3. Servlet 分页保存查询条件

    第一种情况:一个页面走一个JSP页面和Servlet 解决办法: /** 把用户这一次选择的所有条件保存Map集合中,再把 map存到Session会话中,点击分页时进入将Servlet中再将Sess ...

  4. JavaScript -- Window-Blur

    -----030-Window-Blur.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=& ...

  5. 【IT笔试面试题整理】连续子数组的最大和

    [试题描述]输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整数组成一个子数组. 求所有子数组的和的最大值.要求时间复杂度O(n). 思路:当我们加上一个正数时,和会增加:当我们加上一个 ...

  6. OSI与TCP/IP模型

    1 OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考.在现实网络世界里,T ...

  7. Spring 3.1新特性之二:@Enable*注解的源码,spring源码分析之定时任务Scheduled注解

    分析SpringBoot的自动化配置原理的时候,可以观察下这些@Enable*注解的源码,可以发现所有的注解都有一个@Import注解.@Import注解是用来导入配置类的,这也就是说这些自动开启的实 ...

  8. angular ng-repeat点击切换样式,浅谈track by $index

    前言 angular ng-repeat点击切换样式,ng-repeat点击切换class样式,巧用ng-repeat track by $index. 1.问题 一个ul包含多个li,li通过ng- ...

  9. 性能提速:debounce(防抖)、throttle(节流/限频)

    debounce与throttle是用户交互处理中常用到的性能提速方案,debounce用来实现防抖动,throttle用来实现节流(限频).那么这两个方法到底是什么(what)?为何要用(why-解 ...

  10. 版本管理(一)之Git和GitHub的区别(优点和缺点)

    Git 简介 https://www.yiibai.com/git/getting-started-git-basics.html Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或 ...