opengl环境搭建 (win7-32bit + vs2012 + freeglut + glew)

本文详细介绍了如何在Windows 7 32位系统与Visual Studio 2012环境下配置OpenGL开发环境,包括FreeGLUT与GLEW的安装步骤及测试示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

opengl环境搭建 (win7-32bit + vs2012 + freeglut + glew) 


有人freeglut+glew,也有人glfw+glew,因为自己对glfw不是太了解,就用freeglut了

soft:
win7-32bit
vs2012
freeglut-2.8.1.tar
glew-1.11.0-win32

下面懒得编译的话就直接从相应文件夹内找对应文件拷贝到相应文件夹就可以了、

1.安装freeglut
解压freeglut-2.8.1.tar,进入freeglut-2.8.1\VisualStudio\2012,
双击



改成Release,

右键"解决方案"->“重新生成解决方案”

编译完成

然后改成Release_Static
重新编译
完成

freeglut-2.8.1\lib\x86路径下将会有几个新生成的文件


头文件(.h文件):
将\freeglut-2.8.1\include\GL下,freeglut.h,freglut_ext.h,freeglut_std.h,glut.h四个头文件复制到路径下Windows Kits\8.0\Include\um\gl路径下。


静态库文件(lib文件):
将freeglut-2.8.1\lib\x86下生成的freeglut.lib、freeglut_static.lib复制到Windows Kits\8.0\Lib\win8\um\x86下

动态库文件(dll文件):
将freeglut-2.8.1\lib\x86下生成的freeglut.dll拷贝到C:\Windows\System32


到此freeglut的配置就完成了。
==========================
测试freeglut

打开vs2012,文件-》新建-》项目-》控制台程序

程序清单:
<pre name="code" class="cpp">#include "stdafx.h"
#include <gl/glut.h>

void myDisplay(void )   
{   
     glClear(GL_COLOR_BUFFER_BIT);   
     glRectf(-0.5f, -0.5f, 0.5f, 0.5f);   
     glFlush();   
}   

int _tmain(int argc, char* argv[])
{
     glutInit(&argc, argv);   
     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);   
     glutInitWindowPosition(100, 100);   
     glutInitWindowSize(400, 400);   
     glutCreateWindow( "第一个OpenGL程序" );   
     glutDisplayFunc(&myDisplay);   
     glutMainLoop(); 

      return 0;
}
 
   
运行如下;
==========================
2.配置glew
glew-1.11.0\include\GL下的头文件复制到Windows Kits\8.0\Include\um\gl下
glew-1.11.0\lib\Release\Win32下lib复制到Windows Kits\8.0\Lib\win8\um\x86下
glew-1.11.0\lib\Release MX\Win32下lib复制到Windows Kits\8.0\Lib\win8\um\x86下
glew-1.11.0\bin\Release\Win32下文件复制到C:\Windows\System32下
glew-1.11.0\bin\Release MX\Win32下文件复制到C:\Windows\System32下
需要注意的:
在程序中我们只需要在包含gl,glu 或 glut.h 之前包含 glew.h就可以了(注意:一定要先包含 glew.h)
在代码中加上这么一句:  #pragma comment (lib, "glew32.lib")    

  1. 示例:   
  2. #include <GL/glew.h>  
  3. #include <GL/glut.h>   
  4. #progrma comment(lib, "glew32.lib")   
  5. 在创建OpenGL渲染context之后,调用 glewInit(); 初始化glew就可以了。
可能用到的库文件:opengl32.lib glu32.lib glut32.lib glew32.lib
glut和glew的初始化,glew必须在正确设定了Render Context后才能初始化,即在调用了glutCreateWindow()后才能初始化glew
测试程序:
<pre name="code" class="cpp">#include "stdafx.h"
#include <GL/glew.h>
#include <GL/freeglut.h>

#pragma comment (lib , "glew32.lib" )

int main(int argc, char *argv[])
{
         glutInitWindowSize(500, 250);
         glutInitWindowPosition ( 140, 140 );
         glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE );
         glutInit(&argc, argv);
         glutCreateWindow( "Hello world!" );
 
         if(glewInit() == GLEW_OK)
                  printf( "glewInit OK!\n\n");
 
         printf( "OpenGL version: %s\n", glGetString(GL_VERSION));
         printf( "GLSL version: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION));
 
         glutMainLoop();
         return 0;
}
 
   
运行结果:

至此配置glew完成。

glew32mx glew32mxs glew32 glew32s区别
s 是static的意思吧 
glew32.lib需要glew32.dll 
glew32s.lib就不需要了 
mx = multi context, 也就是多窗口多线程显示.glew只能多个viewport,每帧只能同步地画多个窗口
=============================
Good Luck!
kylin

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值