32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程

先说说题外话,OpenGL是一个跨平台优秀的三维可视化库,而在Windows中内部封装的OpenGL还是1.1版本,不吐槽,维护自身Direct3D的发展也是情有可原。如果你是Win32系统,编译环境也是Win32的话,对OpenGL只是练习,那么就用简单的GLUT来配置OpenGL环境就好了,但是如果你想用X64(64位)环境来编译的话,这个GLUT会编译不成功,因为它不提供64位下的使用环境,而且太老掉牙了,版本已经不更新了,那么这个时候你就需要freeglut这个包(国外推荐使用freeglut,摒弃glut),这个包提供了32位(x86)和64(x64)两种编译环境下可用的静态链接库和动态链接库。关于64位环境编译的程序与32环境编译的程序之间的区别就是32位程序在系统中最多能申请到2G内存(2的32次方字节),而64位程序在系统中最多能申请到(2的64次方字节)的内存,64位程序理论上可以使用当前PC机上所装载的全部的内存,极大的提高了程序的性能。下面介绍了Glut和FreeGlut的详细配置教程,以便在32位编译环境和64位编译环境都得心应手的使用OpenGL。

*我的VS2010的安装位置:D:\Program Files (x86)\Microsoft Visual Studio 10.0

 

1.关于Glut的配置

1.1. 下载GLUT。Windows环境下的GLUT下载地址:

http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

 

1.2

将下载的压缩包解开,将得到5个文件:glut.h glut.lib glut32.lib glut.dllglut32.dll

1.3

将glut.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL(以我的VS安装的目录为例,VS版本为2010)。

1.4

将glut.libglut32.lib复制到D:\Program Files (x86)\Microsoft VisualStudio 10.0\VC\lib(以我的VS安装的目录为例,VS版本为2010)。

1.5

    将glut.dll和glut32.dll复制到C:\Windows\System32下,如果你是64位系统,建议将其也复制到C:\Windows\SysWOW64下。

    在项目的使用过程中,只需包含头文件#include就好了。

到这里,Glut包配置完成了,就可以在控制台或者是MFC中去享受你的OpenGL了,不过这里要注意的事情,Glut只能用于Win32的编译环境,如果你将编译环境改为x64便会出错,因为这个库已经很久都不更新了,只支持Win32编译环境,如果你想你的程序是64位而且能够使用OpenGL,而且能够申请到大于2G的内存,那么你就要使用Freeglut了,请看下面Freeglut的配置教程。

 

2.Freeglut的配置

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第1张图片

 

我使用的环境具体是Win764位+VS2010+Freeglut2.8.1,而Freeglut2.8.1这个版本支持VS2010,可使用最高的版本3.0,同样支持各种VS版本。

 

2.1 Freeglut的下载

Freeglut2.8.1:http://download.csdn.net/detail/hw140701/9830604

Freeglut其他版本的下载地址:

Freeglut3.0版本:

http://www.transmissionzero.co.uk/software/freeglut-devel/

http://download.csdn.net/detail/hw140701/9830606

 

2.2 生成VS2010 64位编译环境下下可用的Freeglut的包含头文件,静态链接库lib,动态链接库dll。

    解压缩包,打开解压后的压缩文件夹,里面会有一个VisualStduio的文件夹,如下

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第2张图片

 

 

    打开VisualStudio文件夹,里面会有VS2008,VS2010,VS2012三个版本的

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第3张图片

 

    选择VS2010,打开项目文件freeglut.sln。

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第4张图片

 

 

    选择Release版本,x64平台编译,右键解决方案,点击全部生成

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第5张图片

 

 

然后你会在解压的文件夹下发现两个新的文件夹inclue和lib文件夹

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第6张图片

 

 

include文件夹下会有GL文件夹,里面包含了freeglut所需用到的头文件,freeglut.h,freeglut_ext.h,freeglut_std.h,glut.h,注意这里的glut.h与Glut包的glut.h文件不相同。

lib文件夹下会有一个x64文件夹,里面包含了freeglut.lib和freeglut.dll文件。

 

 

2.3 具体配置

 

    Freeglut配置本质上与Glut的配置原理相同,不过,我们这里配置的是64位的freeglut,稍微有一些不同。这里也简单介绍一下freeglut32位的配置,如果你要生成freeglut32可用的包含文件,静态链接库以及动态链接库,请参见上节中64的生成方法,不要需要将编译平台改为Win32,此节不再赘述。

 

2.3.1 Freeglut32位的配置

    1.将\freeglut-2.8.1\freeglut-2.8.1\include\GL文件夹下的四个头文件freeglut.h,freeglut_ext.h,freeglut_std.h,glut.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL下(以我的VS2010安装位置为准)。

    2.将freeglut.lib复制到D:\ProgramFiles (x86)\Microsoft Visual Studio 10.0\VC\lib下。

    3.将freeglut.dll复制到C:\Windows\System32下

注意:如果出现错误,建议将freeglut.dll同时复制到C:\Windows\SysWOW64下。

2.3.2 Freeglut64位的配置

    1.将\freeglut-2.8.1\freeglut-2.8.1\include\GL文件夹下的四个头文件freeglut.h,freeglut_ext.h,freeglut_std.h,glut.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL下(以我的VS2010安装位置为准)。

    2.将freeglut.lib复制到D:\ProgramFiles (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64下,注意这里是放64位静态链接库的地方。

    3.将freeglut.dll复制到C:\Windows\SysWOW64下

注意:如果出现错误,建议将freeglut.dll同时复制到C:\Windows\ System32下。

 

最后在使用的时候只需添加#include就可以了。

 

 

2.4 Freeglut3.0的配置

    类似于Freeglut2.8.1的配置

下载网址就是

http://www.transmissionzero.co.uk/software/freeglut-devel/

选择freeglut3.0.0 MSVC Package

32位(x86)与64位(x64)程序中详细配置OpenGL(Glut/FreeGlut/Glew)环境小白教程_第7张图片

 

解压缩文件,有include,bin,lib三个文件夹

2.4.1 Freeglut3.0 32位的配置

    1.将\freeglut\freeglut-MSVC-3.0.0-2.mp\freeglut\include\GL下的四个头文件freeglut.h,freeglut_ext.h,freeglut_std.h,glut.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL下(以我的VS2010安装位置为准)。

    2.将\freeglut\freeglut-MSVC-3.0.0-2.mp\freeglut\lib下的

freeglut.lib复制到D:\Program Files (x86)\Microsoft Visual Studio10.0\VC\lib。

    3.将\freeglut\freeglut-MSVC-3.0.0-2.mp\freeglut\bin下的

freeglut.dll复制到C:\Windows\System32下。

注意:如果出现错误,建议将freeglut.dll同时复制到C:\Windows\SysWOW64下。

 

2.4.2 Freeglut3.0 64位配置

    1.将\freeglut\freeglut-MSVC-3.0.0-2.mp\freeglut\include\GL下的四个头文件freeglut.h,freeglut_ext.h,freeglut_std.h,glut.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL下(以我的VS2010安装位置为准)。

    2. \freeglut\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\x64下的

freeglut.lib复制到D:\Program Files (x86)\Microsoft Visual Studio10.0\VC\lib\amd64下。

    3. \freeglut\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\x64下的

freeglut.dll复制到C:\Windows\ SysWOW64下

注意:如果出现错误,建议将freeglut.dll同时复制到C:\Windows\ System32下。

 

3.Glew的配置

 

3.1 Glew的下载

 

 

下载地址

glew-1.9.0-win32.zip:http://download.csdn.net/detail/hw140701/9830617

glew-1.9.0-win64.zip:

 

3.2 Glew的配置

3.2.1 Glew32位的配置

1.解压缩文件glew-1.9.0-win32.zip,得到bin,include,lib,doc三个文件夹。

2.将include文件夹下GL文件夹下的三个头文件glew.h,glxew.h,wglew.h三个头文件复制到D:\ProgramFiles (x86)\Microsoft Visual Studio 10.0\VC\include\GL下(以我的VS2010安装位置为准)。

3.将lib文件夹下四个lib文件glew32.lib,glew32mx.lib,glew32mxs.lib,

glew32s.lib四个静态链接库复制到D:\Program Files (x86)\Microsoft Visual Studio10.0\VC\lib下。

    4.将bin文件夹下的两个dll文件glew.dll,glew32mx.dll复制到C:\Windows\System32下。

注意:如果出现错误,建议将freeglut.dll同时复制到C:\Windows\SysWOW64下。

 

3.2.2 Glew64位的配置

    1.解压缩文件glew-1.9.0-win64.zip,得到bin,include,lib,doc三个文件夹。

2.将include文件夹下GL文件夹下的三个头文件glew.h,glxew.h,wglew.h三个头文件复制到D:\ProgramFiles (x86)\Microsoft Visual Studio 10.0\VC\include\GL下(以我的VS2010安装位置为准)。

3.将lib文件夹下四个lib文件glew32.lib,glew32mx.lib,glew32mxs.lib,

glew32s.lib四个静态链接库复制到D:\Program Files (x86)\Microsoft Visual Studio10.0\VC\lib\amd64下,注意这里是放64位静态链接库的地方。

    4.将bin文件夹下的两个dll文件glew.dll,glew32mx.dll复制到C:\Windows\ SysWOW64下。

注意:如果出现错误,建议将freeglut.dll同时复制到C:\Windows\ System32下。

 

 

如果您觉得这篇博文有用,请访问我的个人站:http://www.stubbornhuang.com,更多博文干货等着您。

参考链接:

http://www.cnblogs.com/gnim/p/3536399.html

http://www.jianshu.com/p/b49fd7fe8b5c

http://blog.sina.com.cn/s/blog_64d2c4ab01019qb7.html

http://blog.csdn.net/chaojiwudixiaofeixia/article/details/49403679

http://www.360doc.com/content/15/0421/19/23042195_465003847.shtml

http://blog.csdn.net/yangyangyang20092010/article/details/52176200

http://www.cnblogs.com/Akunwjy/p/Freeglut.html

 

 

 

 

 

 

你可能感兴趣的:(C++,#,Legancy,OpenGL,/,固定渲染管线)