VS2015下OpenGL库的配置
写在前面:
最近要用到OpenGL,光是在VS2015下配置就费了很大的劲,现在将我的成果直接贡献给大家,希望能为需要在VS2015下配置OpenGL的读者省去一些麻烦。
正文:
资源地址1:http://pan.baidu.com/s/1kVv8jbx 提取码:owya
资源地址2:http://down.51cto.com/data/2300181
若链接失效,请读者留言,我会发到您的邮箱。
资源都是编译好的,可直接拿来用,亲测可用。
下载资源后,解压“OpenGL安装包.zip”,在“OPenGL安装包”文件夹下可以看到Demo、freeglut、glew、gltools、glut五个文件夹,其中Demo是示例程序,其余四个是安装包。
下面简单说一下配置。
1.glew配置
glew文件夹下有compiled和src两个文件夹,其中,compiled文件夹下是已经编译好的安装包,而src文件夹下是源码。在下是用已编译好的安装包配置的,src文件夹下的源码是为安装gltools准备的(见后面附录部分)。有想用源码安装glew的读者,请自行探索。下面说明安装步骤。
1.解压compiled文件夹下的“glew-2.0.0-win32.zip”,得到glew-2.0.0文件夹。
2.找到VS2015的安装目录,如果是安装在C盘的,多半是类似C:\Program Files(x86)\Microsoft Visual Studio 15.0这样的路径;在下是装在其它盘的,目录是“D:\软件安装\VS2015”,为了表述方便,后面一律按在下的目录进行说明。
3.找到C++的头文件目录,如在下的是“D:\软件安装\VS2015\VC\include”,在include目录下新建GL文件夹(如果没有的话)。
4.将1中glew-2.0.0\include\GL文件夹下的4个头文件都拷贝到3中的GL文件夹下。
5.将glew-2.0.0\bin\Release\Win32下的glew32.dll拷贝到D:\软件安装\VS2015\VC\bin目录下。
6.将glew-2.0.0\lib\Release\Win32下的两个lib文件拷贝到D:\软件安装\VS2015\VC\lib目录下。
注意,没必要将dll文件拷贝到C:\Windows\System32或C:\Windows\SysWOW64下。
至此,glew配置完毕。
2.glut配置
1.将glut文件夹下的“glutdlls37beta.zip”解压,得到5个文件,分别是glut.h、gult.dll、glut32.dll、glut.lib、glut32.lib。
2.将glut.h拷贝到D:\软件安装\VS2015\VC\include\GL目录下。
3.将gult.dll、glut32.dll拷贝到D:\软件安装\VS2015\VC\bin目录下。
4.将glut.lib、glut32.lib拷贝到D:\软件安装\VS2015\VC\lib目录下。
至此,glut配置完毕。
3.freeglut配置
1.将freeglut文件夹下的“freeglut-MSVC-3.0.0-2.mp.zip”解压,得到freeglut文件夹。
2.在freeglut/include/GL目录下有4个头文件,将除了glut.h之外的3个头文件拷贝到D:\软件安装\VS2015\VC\include\GL目录下。
3.将freeglut/bin目录下的freeglut.dll文件拷贝到D:\软件安装\VS2015\VC\bin目录下。
4.将freeglut/lib目录下的freeglut.lib文件拷贝到D:\软件安装\VS2015\VC\lib目录下。
至此,freeglut配置完毕。
4.gltools配置
1.将gltools\include目录下的11个头文件全部拷贝到D:\软件安装\VS2015\VC\include目录下(注意是include目录,而不是GL子目录)。
2.将gltools\lib目录下的gltools.lib文件拷贝到D:\软件安装\VS2015\VC\lib目录下。
至此,gltools配置完毕。
至此,OpenGL配置完毕。
测试
1.新建Win32控制台应用程序。

2.将Demo\Block目录下的所有文件拷贝到刚才新建的工程目录下(如本例是E:\OpenGLTest\OpenGLTest)

3.“源文件”右键-->“添加”-->“现有项”,将2中的Block.cpp文件添加到工程中。


4.在Block.cpp文件的include语句后添加#pragma comment(lib,"gltools.lib")。

5.编译运行,结果如下:

按下空格键,中央的立方体的样式会发生变化,一共有6种变化,6种变化循环往复。
附录 gltools.lib的编译生成方法
注意,要想编译生成gltools.lib,必须先配置好glew。下面说明编译步骤。
1.将gltools\include目录下的11个头文件全部拷贝到D:\软件安装\VS2015\VC\include目录下(注意是include目录,而不是GL子目录)。
2.启动VS2015,创建名为gltools的Win32应用程序。

3.选择“静态库”,将“预编译头”前的勾点掉。

4.将gltools\src目录下的6个文件文件拷贝到刚才新建的工程目录中(如本例,就是E:\gltools\gltools)。
5.“源文件”右键-->“添加”-->“现有项”,将4中的6个文件添加到工程中。



注意,这里的glew.c就是glew\src\glew-2.0.0\src目录下的glew.c文件。
6.生成-->生成gltools

编译时会出现一大推“dll链接不一致“的警告(在下把网上能找到的办法都试过了,都没有用,希望知道解决办法的读者不吝赐教),但最终还是编译成功了。

7.在E:\gltools\Debug目录下可以找到生成的gltools.lib文件。
至此,gltools编译生成完毕。
写在后面:
在下才疏学浅,错误疏漏之处在所难免,恳请大家批评指正,您的批评和帮助是在下前进的不竭动力。
VS2015下OpenGL库的配置的更多相关文章
- VS2010/VS2012/VS2015下openGL环境配置(转)
按:按照下述博文,三个例子均成功. https://blog.csdn.net/so_geili/article/details/51685005 请仔细阅读每一个字. 为了学习<OpenGL超 ...
- Windows7+VS2010下OpenGL的环境配置
http://johnhany.net/2014/01/environment-for-opengl-with-vs2010/ OpenGL(Open Graphics Library)是一个开放的. ...
- 两分钟搞定VS下第三方库的配置(以GNU Regex Library库为例)
写C的朋友大概知道导入一个库的痛苦,特别是在宇宙第一IDE--VS下更是无从下手,生怕一不小心就把VS搞崩了,而VS的卸载过程又是一个十分头疼的过程.所以,这里特此开了一篇如何在VS下配置第三方库的博 ...
- vs2013下OpenGL环境的配置
1.下载glut库:https://files.cnblogs.com/files/laoxia/glutdlls37beta.zip 2.解压后,将glut.lib和glut32.lib两个文件拷贝 ...
- 17 win7 sp1 x64/VS2015下配置creo4.0二次开发环境——调用了众多开源库(ceres-solver,PCL1.8.0,office 2016COM接口,MySql数据库等)
0 引言 本次开发环境的配置是在综合考虑了开源库的版本.VS版本以及CREO4.0的版本,同时针对甲方需求选择了win7 sp1 x64系统. 配置的过程中遇到了形形色色的问题,但是一一解决了.通过这 ...
- Win8.1下FreeImage.lib库的配置和简单使用(转)
转自http://www.codeweblog.com/win8-1下freeimage-lib库的配置和简单使用/ 首先,你可以从这里获取FreeImage的完整库文件(访问密码 9a5e). 配置 ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
- (一)VS2015下配置OpenGL
刚开始用OpenGL,一开始不太明白配置库的原理,在VS2015下耗费了大量时间.这里将配置过程做个笔记,以供日后查看.配置过程中,需要下载cmake构建工具以及glew和glfw库. 下载地址为: ...
- 配置自己的OpenGL库,glew、freeglut库编译,库冲突解决(附OpenGL Demo程序)
平台:Windows7,Visual C++ 2010 1. 引言 实验室的一个项目,用到OpenGL进行实时绘制,还用到一些其他的库,一个困扰我很久的问题就是编译时遇到的各种符号未定义,符号重定义之 ...
随机推荐
- 原生js中slice()方法和splice()区别
slice()方法和splice()方法都是原生js中对数组操作的方法. slice(),返回一个新的数组,该方法可从已有的数组中返回选定的元素.例如:arrObject(start,end),sta ...
- python算法(一)
python算法(一) 一.求数x的因子 x=100 divisors=()#初始化空的元组 for i in range(1,x): if x%i==0: divisors=divisors+(i, ...
- SmartRoute之大规模消息转发集群实现
消息转发的应用场景在现实中的应用非常普遍,我们常用的IM工具也是其中之一:现有很多云平台也提供了这种基础服务,可以让APP更容易集成相关功能而不必投入相应的开发成本.对于实现这样一个简单功能并不复杂, ...
- 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法
For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...
- Java面试04|Spring框架
1.动态代理的几种方式 Java主要有两种代理,JDK和Cglib动态代理.先看JDK代理实例如下: JDK创建代理有一个限制,即它只能为接口创建代理实例.举个例子如下: public interfa ...
- ST HW1 An Error
曾经使用ThinkPHP完成一个网上电子银行的项目,凡是涉及到金钱的,需要注意的问题很多,比如使用float类型,比如金钱的数额不能为负数等等.最初没有考虑到剩余金额不能为负数或者消费的金额不能为负, ...
- Xamarin.Android Binding篇
前言 趁着失业了,闲着没事儿学习了下Xamarin.Android binding,在以往的开发中,我相信很多人都遇到过binding的坑,也不例外, 我也踩了很多雷,好在认识了个大佬,指导了很多 ...
- [转]利用excel进行线性规划求解
利用线性回归方法求解生产计划 方法一: 1.建立数学模型: 设变量:设生产拉盖式书桌x台,普通式书桌y台,可得最大利润 确定目标函数及约束条件 目标函 ...
- EF批量插入(转)
原作者地址http://blog.csdn.net/zlts000/article/details/46385773 之前做项目的时候,做出来的系统的性能不太好,在框架中使用了EntityFramew ...
- javascript数组详解(js数组深度解析)【forEach(),every(),map(),filter(),reduce()】
Array 对象是一个复合类型,用于在单个的变量中存储多个值,每个值类型可以不同. 创建数组对象的方法: new Array(); new Array(size); new Array(element ...