zoukankan      html  css  js  c++  java
  • vc中openGL的安装

    安装过程:

    第一步:选择一个编译环境    

    现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。但这里我们选择VC++ 6.0作为学习OpenGL的环境。    

    第二步:安装GLUT工具包    

    GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。    

    Windows环境下的GLUT下载地址:(大小约为150k)    
    http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

    无法从以上地址下载的话请使用下面的连接:    
    http://upload.programfan.com/upfile/200607311626279.zip

    Windows环境下安装GLUT的步骤:    
    1、将下载的压缩包解开,将得到5个文件 
    2、以我的安装目录为例:    
    (1)“d:Program FilesMicrosoft Visual StudioVC98includeGL文件夹”。把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建一个,一般都有的。    
    (2)“d:Program FilesMicrosoft Visual StudioVC98lib文件夹”)。把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹,即lib文件夹。    
    (3)把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:WindowsSystem32)这是非常重要的动态链接库设置!    

    第三步,创建工程,其步骤如下:    

    (1)创建一个Win32 Console Application。(以我创建的为例,工程名为simpleGL)    
    (2)链接OpenGL libraries:在Visual C++中先单击Project,再单击Settings,再找到Link单击,最后在Object/library modules 的最前面加上opengl32.lib Glut32.lib Glaux.lib glu32.lib 。    
    (3)单击Project Settings中的C/C++标签,将Preprocessor definitions 中的_CONSOLE改为__WINDOWS。最后单击OK。    

    现在,准备工作基本上完成了,可不要轻视这一步,如果你没有设置好在编译及运行过程中总会出错的。

    第四步,创建一个最简单的opengl程序

    #include <GL/glut.h>
    
    void display(void)
    {
       glClear (GL_COLOR_BUFFER_BIT);/* clear all pixels  */
       glColor3f (1.0, 1.0, 1.0);
       glBegin(GL_POLYGON);/* draw white polygon with corners at(0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)*/
       glVertex3f (0.25, 0.25, 0.0);
       glVertex3f (0.75, 0.25, 0.0);
       glVertex3f (0.75, 0.75, 0.0);
       glVertex3f (0.25, 0.75, 0.0);
       glEnd();
       glFlush ();/* start processing buffered OpenGL routines  */
    }
    
    void init (void) 
    {
       glClearColor (0.0, 0.0, 0.0, 0.0);/* select clearing color  */
       glMatrixMode(GL_PROJECTION);
       glLoadIdentity();
       glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);/* initialize viewing values  */
    }
    
    int main(int argc, char** argv)
    {
       glutInit(&argc, argv);
       glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);/*Declare initial display mode(single buffer and RGBA).*/
       glutInitWindowSize (250, 250); /*Declare initial window size.*/
       glutInitWindowPosition (100, 100);/*Declare initial window position.*/
       glutCreateWindow ("hello");/*Open window with "hello"in its title bar.*/  
       init ();/*Call initialization routines.*/
       glutDisplayFunc(display); /*Register callback function to display graphics.*/
       glutMainLoop();/*Enter main loop and process events.*/
       return 0;   /* ANSI C requires main to return int. */
    }
    View Code

    如果输出是如下图所示,则表示安装和操作都是成功的。

    注意:

    如果运行程序是出现opengl.dll缺失:

    开发OpenGL项目时,在VS开发环境下可能会出现如图所示的错误。

    在c:windowssystem32和SysWow64文件夹下存在opengl32.dll,此时,所写程序能够正常编译,但是,程序一但运行就提示

    “无法启动此程序,因为计算机中丢失OPENGL.dll。尝试重新安装该程序以解决此问题。”

    这时主要是因为同时引用了静态库“glut.lib”和"glut32.lib"。

    即在项目->属性->配置属性->链接器->附加依赖项中增加了glut.lib和glut32.lib,而且顺序为glut.dll在前,glut32.dll在后,所以,链接器首先寻找OPENGL.dll而没有寻找opengl32.dll。此时只要将项目->属性->配置属性->链接器->附加依赖项中的glut.lib删掉即可。(因为本人之前百度到的很多安装教程上都是说要将“glut.lib”和"glut32.lib"

    同时放到linker中。。。结果一直报错。。

    另外,如果想要在VS里重现此错误,需要配置附加依赖项后重新生成项目。

  • 相关阅读:
    promise.all 发送多个请求
    解决分享里有中文,访问不了的问题
    elementui ztree 编辑的时候,回显半选状态的选项,用isLeaf判断
    倒叙数组查找数组对象中是否有该id值,将其去掉
    https强转
    Decorator学习(一)----- 基础知识
    MySQL的权限系统
    vue-cli 3.0.1 详细入门教程
    vue-cli4.5创建vue项目
    [记录] JavaScript 中的事件(Event对象、事件源对象、事件流、事件绑定)【转发】
  • 原文地址:https://www.cnblogs.com/acm-jing/p/4369072.html
Copyright © 2011-2022 走看看