按:按照下述博文,三个例子均成功。
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 ,选择里面的“解决方案三”来解决问题。