您的位置:首页 > 运维架构

Windows下用Code::Blocks+MingGW进行OpenGL2.0开发(使用GLEW库)的准备工作

2008-07-30 13:34 651 查看
微软出于对其产品Direct3D保护的原因,Windows平台对OpenGL的支持十分消极,只能支持到OpenGL1.1版本,然而如今大量的OpenGL功能所需要的版本都高于1.1,例如,最动人的对“OpenGL着色语言”(GLSL-OpenGL shading language)的支持需要OpenGL2.0以上版本。
但是,要在Windows平台上做高版本的OpenGL开发也并非无路可走,最简便的方法,就是使用跨平台的开源GLEW库(GLEW-OpenGL Extension Wrangler Library)。

下面说一下GLEW的安装配置和使用过程:

1.1 如果使用的是微软的VC,那么直接从 http://glew.sourceforge.net/index.html 下载Windows的二进制版本(Binaries),是一个zip包,解压后,将/bin/glew32.dll拷贝到c:/windows/system32中,将/lib和/include中的文件拷贝到VC的对应文件夹中即可。
1.2 如果和我一样,使用开源跨平台的Code::Blocks + MingGW(通常安装Code::Blocks时,会自动安装MinGW编译器),那么步骤就会稍微不同:
首先,去下载一个MSYS并安装(如果安装MinGW时包含了MSYS,那么可以省去这一步)。MSYS可以说是一个模拟Unix终端的软件,如果你是个Linux开发者,打开MSYS后你会觉得非常熟悉。安装过程中会让你输入MinGW的安装路径,按照给出的格式输入你的路径即可。
第二,下载GLEW的源码版,地址同样是http://glew.sourceforge.net/index.html,选择Source下载。解压到一个路径不包含中文和空格的文件夹中,例如我的是:d:/Development/glew。
第三,打开MSYS,进入上一步解压的glew文件夹,我的是输入:
cd d:/development/glew
第四,输入
make
回车,OK,等待10来秒钟,对应MinGW编译器的GLEW库就编译好了。输出的库文件在第二步解压的那个文件夹的/lib里面,正确的话应该有3个文件:glew32.dll,libglew32.a和libglew32.dll.a,同样,将glew32.dll拷贝到c:/windows/system32中,将libglew32.a和libglew32.dll.a拷贝到MinGW目录里的/lib中。



第五,将解压的glew文件夹中/include/GL里的头文件拷贝到MinGW中/include/GL里面。安装到这一步就完成了。
1.3 使用GLEW库。打开Code::Blocks,打开或新建一个OpenGL项目,点击Project->Build options->Linker settings->Add。如果你需要做静态链接(运行程序时不需要glew32.dll动态链接库文件),那么选择libglew32.a文件;如果你需要做动态链接(运行程序时需要glew32.dll动态链接库文件,但可执行文件体积较小),那么选择libglew32.dll.a



[align=left]
1.4 这一步很关键。如果你链接的是libglew32.dll.a,那么没问题,直接在你的c++程序里面加入
#include <GL/glew.h>
即可(注意要加在#include <GL/glut.h>之前,否则会报编译错误);但是,如果你链接的是libglew32.a,那么在#include <GL/glew.h>之前一定要加上一句
#define GLEW_STATIC
否则链接时会报错!

剩下的就是如何使用这些扩展指令的问题了,不在本文讨论范畴中。
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: