VS2008中openGL开发环境配置(目前最全版)

来源:互联网 发布:unity3d 向目标移动 编辑:程序博客网 时间:2024/06/04 18:06

来啊来啊,造福广大人民群众啦,首先感谢网上各位大神支援,但有些实际问题还是不一样的

应老师要求 得装VS2008(惊了。。。)

1.各种库的配置

(1)glew

下载:https://sourceforge.net/projects/glew/files/glew/1.7.0/glew-1.7.0.zip/download

将include文件夹下的.h文件拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL目录中(没有GL目录就自己创建一个,这里的具体路径视电脑上VS2008安装的位置而定)
将lib文件夹下的.lib文件拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC\lib目录中
将bin文件夹下的.dll文件拷贝到C:\Windows\System32目录中

但我记得后面俩是啥也没有的。。想不到吧!真没有就别加了,小仙女也变不出来。。。


(2)glut

下载OpenGL的glut类库:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

将.h文件拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC\include\GL目录中(没有GL目录就自己创建一个,这里的具体路径视电脑上VS2008安装的位置而定)
将.lib文件拷贝到C:\Program Files\Microsoft Visual Studio 9.0\VC\lib目录中
将.dll文件拷贝到C:\Windows\System32目录中敲黑板!!!如果你是64位的,就不能这么干!我这么干结果说找不到glut32.dll,查到网上说:

试着将这个 glut32.dll复制到C:\WINDOWS中的SysWOW64的文件夹中,后来就全都搞定啦
(1)将gult32.dll,glut.dll复制到windows系统system32(如果是64位操作系统,则是C:\WINDOWS中的SysWOW64这个文件下)
(2)将gult32.lib,glut.lib复制到vc的lib目录下
(3)将gult.h复制到vc的include\GL下


2.配置项目环境

在需要用到openGL的每个项目中都需要执行以下步骤:

(1)项目——项目属性——配置属性——C/C++— —预处理器——预处理器定义,添加

GLUT_BUILDING_LIB

敲黑板!!!也许你说找不到啊这可咋整啊,不要方啊小伙子,记住是在资源文件里面右键新建文件!在文件-》新建项目是不属于这个project里面的啊!然后随便写个hello world的简单程序,编译之后,就能找到C/C++啦~


(2)项目——项目属性——配置属性——链接器——输入——附加依赖项,添加

glut32.lib Opengl32.lib Glu32.lib glew32.lib

3.应用举例,最后祝大家顺利配置啦啦啦~

(1)先创建一个Win32控制台应用程序项目(文件——新建——项目——win32——win32控制台应用程序),在下面的名称处任意命名,假定是helloworld,然后点确定。之后点下一步,然后在附加选项的空项目之前打勾,之后点完成。

(2)配置项目属性:如上面所述2所述

(3)在解决方案管理器的源文件文件夹上点右键,添加——新建项——c++文件,任意命名,假定是Hello。

在导航窗格中的源文件分类下的Hello.cpp中输入如下代码:

输出的是一个矩形~

[cpp] view plain copy
 print?
  1. #include <windows.h>   //这个必不可少  
  2.   
  3. #include <gl/glut.h>  
  4.   
  5. void display()  
  6.   
  7. {  
  8.   
  9. glClear(GL_COLOR_BUFFER_BIT);  
  10.   
  11. glColor3f(1.0,1.0,1.0);  
  12.   
  13. glBegin(GL_POLYGON);  
  14.   
  15.     glVertex3f(0.25,0.25,0.0);  
  16.   
  17.     glVertex3f(0.75,0.25,0.0);  
  18.   
  19.     glVertex3f(0.75,0.75,0.0);  
  20.   
  21.     glVertex3f(0.25,0.75,0.0);  
  22.   
  23.    glEnd();  
  24.   
  25.    glFlush();  
  26.   
  27. }  
  28.   
  29.    
  30.   
  31. void init()  
  32.   
  33. {  
  34.   
  35. glClearColor(0.0,0.0,0.0,0.0);   //以黑色清屏  
  36.   
  37. glMatrixMode(GL_PROJECTION); //glMatrixMode - 指定哪一个矩阵是当前矩阵  
  38.   
  39.                             //GL_PROJECTION,对投影矩阵应用随后的矩阵操作  
  40.   
  41. glLoadIdentity();               //该函数的功能是重置当前指定的矩阵为单位矩阵  
  42.   
  43. glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);  
  44.   
  45. }  
  46.   
  47.    
  48.   
  49. int main(int argc,char** argv)  
  50.   
  51. {  
  52.   
  53. glutInit(&argc,argv);  
  54.   
  55. glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);  
  56.   
  57. glutInitWindowSize(250,250);  
  58.   
  59. glutInitWindowPosition(100,100);  
  60.   
  61. glutCreateWindow("Hello OpenGL");  
  62.   
  63. init();  
  64.   
  65. glutDisplayFunc(display);  
  66.   
  67. glutMainLoop();  
  68.   
  69. return 0;  
  70.   
  71. }