VS2010/VS2012/VS2015下openGL环境配置(转)
按:按照下述博文,三个例子均成功。
https://blog.csdn.net/so_geili/article/details/51685005
请仔细阅读每一个字。
为了学习《OpenGL超级宝典(第五版)》必须配置OpenGL环境,正所谓工欲善其事必先利其器。翻阅了很多网上的配置教程,很多都有问题,但也有详细的精华教程,比如博客: http://www.zyh1690.org/build-opengl-super-bible-fifth-edition-development-environment/ 。尽管该教程很详细,但其中还是有些细节问题,博客中没有细说。配置OpenGL环境一定要细心、耐心。因为有一点疏忽都可能导致最终配置环境失败。本篇虽然是针对“win7 X64 +VS2010”环境的配置过程,但是我在VS2012/VS2015下也搭建成功了,VS2012/VS2015下配置OpenGL的原理也很简单,就是其中的Microsoft Visual Studio 10.0下要添加的文件变成Microsoft Visual Studio 12.0或Microsoft Visual Studio 15.0下添加相关的文件。
配置环境:
win7 X64 + Visua Studio 2010
win7 X64 + Visua Studio 2012
win7 X64 + Visua Studio 2015
所需要的配置文件及工具:
百度云盘下载地址:
链接:http://pan.baidu.com/s/1kVsKUGJ 密码: xxqq
链接: http://pan.baidu.com/s/1slu9RK5 密码: asj8
下面正式开始搭建:>>>>>>>>>>>>>>>>>>>>>>>>分割线>>>>>>>>>>>>>>>>>>>>>>>>>分割线>>>>>>>>>>>>>>>>>>>>>>>>>
一、freeglut配置
打开 x:\x\freeglut-2.8.1\VisualStudio\2010\freeglut.sln 项目工程,(如果是配置VS2015,可以选择x:\x\....\2015\freeglut.sln 项目工程)

分别已Debug模式和Release模式生成解决方案。(只生成一个也可。建议在debug模式下编译,无需执行。如果运行弹出黑框,忽视即可。32位操作系统注意,最终在运行蓝宝书Chapter01\Block 的代码时,如果遇到freeglut_static.lib无法打开问题,应该选择Debug_Static模式重新编译,生成所需的freeglut_static.lib,添加到指定的文件夹中。)
会在 x:\x\freeglut-2.8.1\lib\x86 目录下看到生成的 .dll 和 .lib 文件,其中请把 Debug目录 中的 .dll 和 .lib 文件加上 _d 以便以后区分。如图:

把 x:\x\freeglut-2.8.1\include\GL 文件夹下的 .h文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目录下,没有GL文件夹的要自己建。
把 x:\x\freeglut-2.8.1\lib\x86 文件夹下(以及Debug文件夹)的 .dll 文件复制到 C:\Windows\SysWOW64 目录(x86 复制到 System32目录下)。
把 x:\x\freeglut-2.8.1\lib\x86 文件夹下(以及Debug文件夹)的 .lib文件复制到 x:\x\Microsoft Visual Studio 10.0\VC\lib。
至此,freeglut搞定!
(这一步搞定后,可以用代码检查。
测试一:建立win32 控制台工程,添入测试代码 ,编译运行。
测试二:建立win32 控制台工程,添入测试代码,编译运行。)
二、Glew配置
把 x:\x\glew-1.11.0\include\GL 文件夹下的.h文件复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目录下。
把 x:\x\glew-1.11.0\lib\Release\Win32 文件夹下的 .lib文件复制到 x:\x\Microsoft Visual Studio 10.0\VC\lib 目录下。
把 x:\x\glew-1.11.0\bin\Release\Win32 文件夹下的 .dll文件复制到 C:\Windows\SysWOW64 目录下。(如果没有,就跳过)
(注意,如果配的是VS2015,需要将配置文件放入x:\x\Microsoft Visual Studio 15.0....中)
三、Glut配置
把 x:\x\glutdlls37beta 文件夹下的 .h文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL 目录下。
把 x:\x\glutdlls37beta 文件夹下的 .lib文件 复制到 x:\x\Microsoft Visual Studio 10.0\VC\lib 目录下。
把 x:\x\glutdlls37beta 文件夹下的 .dll文件 复制到 C:\Windows\SysWOW64 目录下。
(注意,如果配的是VS2015,需要将配置文件放入x:\x\Microsoft Visual Studio 15.0....中)
四、构建GLTools库
新建一个gltools的win32项目工程,如图:


先编译一下,(原文这里有错误,下面是我修改的)
把 x:\x\SB5\Src\GLTools\src 目录下的.cpp文件(不包括glew.c文件)复制到 x:\x\gltools\gltools。
把 x:\x\SB5\Src\GLTools\include 目录下的.h文件(不包括GL文件夹)复制到 x:\x\gltools\gltools。
分别在头文件和源文件上右键 添加->现有项 把 .h 和 .cpp 文件添加到项目。如图:

编译提示如下:

gltools.lib 文件生成成功。可以在 x:\x\gltools\Debug 目录下查看。
把 .lib文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib 文件夹下。
把 .h文件 复制到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include 文件夹下(注意这次不是GL文件夹)。
到此gltools也OK了。
五、测试
我们使用书中给的例子来测试一下环境。如果测试成功,则OpenGL环境才算是配好了。
建立test的项目工程:


我们使用第一章的例子来测试,复制 x:\x\SB5\Src\Chapter01\Block 中的所有文件到 x:\x\test\test 文件夹下。同样在源文件上右键 添加->现有项把Block.cpp文件包含进来。
添加附加依赖项(第一个图):(这种添加依赖项方式,仅仅对当前test项目生效。为了让其他项目也可以使用这些个.lib文件,所以应该在属性管理器中添加依赖项,具体方式见下面第二个图)

编译运行项目,效果如图:(如果编译出错,则用百度浏览器搜索错误信息,寻找相应的解决方案。或者查看本博文最后的“一些特殊情况的处理”,可能会得到帮助。)
按空格键变换显示效果,共六种效果:



六、一些特殊情况的处理:
完全按照上面的教程配置OpenGL环境,在大多数电脑上,都能成功。但凡是都有例外,如果配置失败,下面的一些配置细节或许可以帮你解决问题。
case1:freeglut_static.lib无法打开问题
方案一:还需要将\OpenGL超级宝典\SB5\SB5\freeglut-2.6.0\VisualStudio2008Static\Release里的freeglut_static.lib拷贝到 x:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib才能运行成功。如果失败,可以尝试方案二;
方案二:仔细查看本篇博文关于 freeglut配置部分,有红色加粗部分。留意配置细节。 case2:“math3d.h”: No such file or directory
如果出现c:\project\gltools\gltools\math3d.cpp(45): fatal error C1083: 无法打开包括文件:“math3d.h”: No such file or directory等头文件找不到的情况就需要把VC/include文件夹里面也加上了math3d.h等头文件加上就可以运行了。
case3:Visual Studio 2015中ucrtbased.dll丢失
可以按照这个链接:http://blog.csdn.net/so_geili/article/details/53009680 ,选择里面的“解决方案三”来解决问题。
VS2010/VS2012/VS2015下openGL环境配置(转)的更多相关文章
- Mac CLion下OpenGL环境配置
1. 配置glew和glfw 终端下运行下面两句,安装完后在/usr/local/Cellar/下可以找到对应的目录. brew install glew brew install glfw3 效果如 ...
- Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc
Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. ...
- VS2015调用Matlab2017a环境配置(转载)
VS2015调用Matlab2017a环境配置 一定要在Debug+x64平台下进行配置,x64,x64,x64!!!* 1.配置环境变量 右键计算机—–>属性——>高级系统设置——> ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置
Windows 下 MSYS2 环境配置和 MinGW-w64 C++ 环境配置 1.简介 本文主要是 Windows 下 MSYS2 环境配置和 MinGW-w64 C++编译环境配置方法 2.下载 ...
- VS2015下OpenGL库的配置
写在前面: 最近要用到OpenGL,光是在VS2015下配置就费了很大的劲,现在将我的成果直接贡献给大家,希望能为需要在VS2015下配置OpenGL的读者省去一些麻烦. 正文: 资源地址1:http ...
- OpenGL: 环境配置和图元的绘制
前言 距离上一篇博客已经过去一个半月了,这段时间过得确实充实,虽然一大段时间泡在图书馆复习,但至少也能学到点东西.跨年晚和元旦一整天,全身心投入图形学小课设的编程,终于实现了老师要求的所有功能,回想起 ...
- 图解VC++ opengl环境配置和几个入门样例
VC6下载 http://blog.csdn.net/bcbobo21cn/article/details/44200205 demoproject和glut库下载 http://pan.baidu. ...
- Opencv学习笔记1:安装opencv和VS2015并进行环境配置
用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置. 第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: https://opencv.org/releases ...
随机推荐
- IO多路复用的作用?
I/O多路复用实际上就是用select, poll, epoll监听多个io对象,当io对象有变化(有数据)的时候就通知用户进程.好处就是单个进程可以处理多个socket.当然具体区别我们后面再讨论, ...
- elasticsearch7.x集群安装(含head、bigdesk、kibana插件)
网址:https://www.elastic.co 192.168.14.239 es-node1192.168.14.240 es-node2192.168.14.241 es-node3 ==== ...
- C# 调用 C++ Dll 类型转换的方式 全
摘要:C#引用C++ Dll 所有类型转换的方式 //C++中的DLL函数原型为 //extern "C" __declspec(dllexport ...
- Centos7 源码安装PostgreSQL Citus集群 (转载)
citus的分布式集群目前在苏宁大规模应用,苏宁陈华军也做了很多技术分享和博客介绍.目前所有的教程都是rpm和pg一起安装,个人不喜欢,毕竟citus定位是个插件,我想在我已安装的pg上源码装一个ci ...
- unison 双向镜像同步
unison 双向镜像同步 需要 ocaml 依赖工具(3.0.7) 而且需要机器ssh双向互信 ssh 开启互信 # vi in.sh 直接执行 in.sh 就可以了 mkdir ~/.ssh ...
- PHP获取POST数据的三种方式
一.PHP获取POST数据的几种方法 方法1.最常见的方法是:$_POST['fieldname']; 说明:只能接收Content-Type: application/x-www-form-urle ...
- linux如何实现凌晨定时执行脚本?
Linux中,周期执行的任务一般由cron这个守护进程来处理.cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“crontab”,是“cron table ...
- MySQL 基础之一
为了满足关系范式:通常一个大的数据集会拆成在一个库(集合内)中多张表表来存储,每一张表就是由行和列组成的二维关系,表与表之间也有关系,查询有时候需要做表链接,而表链接这个过程需要依赖于索引到各种算法来 ...
- ubuntu之路——day10.5 可避免偏差
可避免偏差: 总结一下就是当贝叶斯最优误差接近于训练误差的时候,比如下面的例子B,我们不会说我们的训练误差是8%,我们会说我可避免偏差是0.5%.
- zabbix—自动发现端口并监控
自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...