注:本文可转载,转载请著名出处:http://www.cnblogs.com/collectionne/p/6937644.html。本文还会修改,如果不在博客园(cnblogs)发现本文,建议访问上面的链接访问最新文章。

部分资料来自LearnOpenGL

学OpenGL的都会知道,OpenGL只提供了绘图功能,创建窗口是需要自己完成的。这就需要学习相应操作系统的创建窗口方法,比较复杂,并且每个操作系统都不同。为简化创建窗口的过程,可以使用专门的窗口库,例如GLUT、GLFW等。由于GLUT已经是90年代的东西了(不过后来还有freeglut),而GLFW是新的,因此建议使用GLFW。

使用GLFW之前需要先进行配置,那怎么配置呢?本文将会介绍配置方法。

下载GLFW

进入GLFW官方网站glfw.org,点击右上角的download,看见如下界面:

这时,可以点击Windows pre-compiled binaries标题下面的32-bit Windows binaries或64-bit Windows binaries(此方法仅限Windows,且建议选择32-bit Windows binaries),下载已经编译好的binary。也可以点击Source package标题下面的Source package下载源代码自己编译。

配置

直接下载binary

点击32-bit Windows binaries进行下载(可能上不了,这时可以尝试刷新),这时浏览器下面会弹出下载提示。

下载之后,解压压缩包,得到的文件夹应如下:

选择适合自己编译器的库,将文件夹里的glfw3.dll、glfw3.lib和glfw3dll.lib拷贝到一个新文件夹,例如D:\libs\。使用时可以只使用glfw3.dll(静态链接),也可以使用glfw3dll.lib和glfw3.dll(动态链接)。结束。

编译源代码

下载的binary可能没有适合自己编译器的,这时就只能自己编译了。

点击Source package进行下载(可能上不了,这时可以尝试刷新),这时浏览器会弹出下载提示。

下载之后,解压压缩包,得到的文件夹应如下(只要有deps、include、src、CMakeLists.txt等文件或文件夹就可以了):

CMake

自己编译GLFW需要使用CMake。CMake是一个可以通过源代码生成相应编译器的项目文件的软件。进入CMake官方网站cmake.org,点击右上角的download进入下载页面:

建议选择最新版(目前是3.8.2)。找到Binary deistributions,选择适合自己平台的下载(可以选择Installer,也可以选择ZIP),我选择的是Windows win32-x86 Installer(虽然我电脑是64位)。注意,如果你电脑上有CMake 3.4或更早的版本,请卸载

如果是下载ZIP,直接解压就可以用了;如果是Installer,则需要安装,点击下载的.msi文件,根据指示进行安装。安装完毕后,进入CMake所在文件夹:

进入bin文件夹,里面有cmake.exe和cmake-gui.exe两个文件。前者是控制台版的,后者是GUI版的。

生成项目文件

使用cmake-gui.exe

打开cmake-gui.exe,应出现如下界面:

在Where is the source code栏里,选择GLFW源代码所在目录(即前面的include、src等文件夹所在目录),我这里是D:/libs/glfw。

在Where to build the binaries栏里,选择要将项目文件生成在哪个文件夹里,可以不存在。我这里选择的是D:/libs/glfw/build。

点击Configure。如果有"Build directory does not exist, should I create it?"的提示,点击Yes。(以VS2015为例)

选择需要生成哪个编译器的项目文件。这里直接选择默认的。点击Finish。等待生成完毕,如果出现下列界面就成功了。

点击Generate,等待生成完毕。如果底下显示"Generating done"则生成成功。接下来可以直接点击Open Project,或找到生成的GLFW.sln(或者其它扩展名)手动打开。

使用cmake.exe

如果直接使用cmake.exe,安装CMake时默认没有将cmake.exe所在文件夹添加到PATH,因此需要设置PATH。打开命令行(Windows为Win+R输入cmd),使用下列指令:

set PATH=C:\Program Files (x86)\CMake\bin;%PATH%
cd glfw
md build
cd build
cmake ..

注意需要将cd glfw中的glfw换成GLFW源码所在的文件夹(和Where is the source code一样,但注意必须在C盘)。输入完以上指令后,在GLFW源码文件夹中出现了一个build文件夹,里面有GLFW的项目文件。

编译

现在只要编译就可以了,这一点各IDE大同小异。以VS2015为例,点击上面的生成,选择生成解决方案,等待编译完成。编译日志很长,一共有195行。

现在可以看一下,在build文件夹里,是不是出现了一个名为glfw3.lib的文件(VS2015在build/src/Debug目录下)。不过直接编译只能生成glfw3.lib,没有DLL,因此是静态链接。

Done!

使用GLFW

要使用GLFW,打开IDE,在包含路径(include directories)里加上glfw3.lib所在的路径,在附加依赖项(additional dependencies)里加上glfw3.lib,就可以使用GLFW啦!

Todo

本文偏向于Windows,没怎么介绍其它操作系统配置。以后会补充!

[OpenGL]配置GLFW(超详细)的更多相关文章

  1. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  2. linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  3. [OpenGL]配置GLFW

    注:本文可转载,转载请著名出处:http://www.cnblogs.com/collectionne/p/6937644.html.本文还会修改,如果不在博客园(cnblogs)发现本文,建议访问上 ...

  4. Mysql双机热备配置(超详细多图版)

    一.双击热备介绍 1.基本概念 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active- ...

  5. Spring Boot 日志配置方法(超详细)

    默认日志 Logback : 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图 ...

  6. 【cocos 2d-x】VS2013+cocos2d-x3.3Final+Adriod交叉编译环境配置(超详细版)

    本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.com ...

  7. Zookeeper 集群安装配置,超详细,速度收藏!

    今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...

  8. VS2015ASP.NET MVC5项目中Spring.NET配置方法(超详细)

    首先,在ASP.NET MVC5项目右键,如下图所示,选择“管理Nuget程序包...” 然后,在弹出的页面的搜索框中输入“spring.web”,在返回结果中选择Spring.Web和Spring. ...

  9. dubbo配置清单-超详细版

    服务发布者 在服务发布者的springboot主配置文件application.properties中添加dubbo配置 #dubbo服务名 spring.dubbo.application.name ...

随机推荐

  1. 项目部署到niginx title乱码问题

    今天部署我react移动端项目到我的linux服务器的时候出现乱码问题 原来是我再配置niginxserver的时候没有指定charset,设置为utf-8,重启nginx服务器,大功告成

  2. 模式匹配之常见匹配算法---SIFT/SURF、haar特征、广义hough变换的特性对比分析

    识别算法概述: SIFT/SURF基于灰度图, 一.首先建立图像金字塔,形成三维的图像空间,通过Hessian矩阵获取每一层的局部极大值,然后进行在极值点周围26个点进行NMS,从而得到粗略的特征点, ...

  3. iOS开发之加载、滑动翻阅大量图片优化解决方案

    本文转载至 http://mobile.51cto.com/iphone-413267.htm 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制.我要详 ...

  4. Subversion基础:概念、安装、配置和基本操作(转)

    本文转载至http://www.cnblogs.com/cokecoffe/archive/2012/06/01/2537130.html 转自:http://www.uml.org.cn/pzgl/ ...

  5. 登录和注册(Js)的写法

    今天在做小组项目的时候发现登录和注册的使用不是很熟,记录下来: <script> //弹出框中的css部分 input { font-family: Arial, sans-serif;} ...

  6. WinCE下使用C#的几个小技巧

    1.我们知道,在使用Windows的开发机上用C#启动一个外部程序的方法有很多,但这些方法用在使用WinCE的目标工控机上都无能为力,现在小嫚儿以打开一个IE为例,介绍如何在WinCE下使用C#来打开 ...

  7. EasyDarwin开源流媒体服务器将select改为epoll的方法

    本文来自EasyDarwin团队Fantasy(fantasy(at)easydarwin.org) 一. EasyDarwin网络模型介绍 EventContext负责监听所有网络读写事件,Even ...

  8. Asp.net mvc4 快速入门之构建表单

    1.asp.net mvc4  Index.cshtml页面上构建表单form的方式 @{ ViewBag.Title = "Index"; Layout = "~/Vi ...

  9. Hadoop实战-MapReduce之WordCount(五)

    环境介绍: 主服务器ip:192.168.80.128(master)  NameNode  SecondaryNameNode ResourceManager 从服务器ip:192.168.80.1 ...

  10. Codeforces Round #398 (Div. 2) C. Garland —— DFS

    题目链接:http://codeforces.com/contest/767/problem/C 题解:类似于提着一串葡萄,用剪刀剪两条藤,葡萄分成了三串.问怎样剪才能使三串葡萄的质量相等. 首先要做 ...