Windows平台下Qt中glut库的使用

    用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符,就是说没有这个函数的声明。接下来就来安装glut库:

    1.先下载glut库http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

    2.将下载下来的文件解压,将glut32.lib和glut.lib两个lib文件移到qt目录下的./lib文件夹中。

    3.将glut.dll和glut32.dll两个动态链接库移到C:\windows\system32中。

    4.将glut.h文件移到qt目录下的\include\QtOpenGL中,并建立glut文件(不要后缀),这样就将glut安装好了,切换到在自己的程序中,在myGLWidget.cpp(QGLWidget派生类的cpp)加入“#include<glut>”,这样就可以使用glut中的函数了。

方法步骤4中,建立glut文件的过程,是这样的:在qt目录下的\include\QtOpenGL目录下,新建一个txt文件,里面输入代码:#include “glut.h”,然后把该txt文件的名字重命名为glut,注意这个地方不需要加后缀。另外需要特别注意的是,虽然我们把glut.h文件放入在qt目录下的\include\QtOpenGL下,且我们也在GLWidget.cpp中也加入了头文件#include<QtOpenGL>,但是因为QtSDK库编译的原因,我们在GLWidget.cpp中仍然需要添加#include<glut>语句才行。

既然上面提到了gluPerspective()对结果的影响很大,那么就很有必要了解该函数。在NeHe等人的教程中,该函数使用其各个参数设置为如下:

gluPerspective( 45.0, (GLfloat)width/(GLfloat)height, 0.1, 100.0 );

该函数是设置场景的透视效果的,所谓透视,可以简单的理解为越远处的物体看起来越小。所以这里的参数1,2,3表示的是透视是按照基于窗口宽度和高度的45度视角来计算的,参数0.1和参数100是我们场景中所能绘制深度的起点和终点值。

Windows平台下Qt QOpenGL中glutSolidSphere()方法未定义的解决方法的更多相关文章

  1. 在Windows平台下Qt的exe报错问题排查步骤

    在Windows平台下Qt的exe报错问题排查步骤 工具介绍: 1. Dependency Worker Dependency Worker是一个免费的用具用来扫描任何的32bit 或者64bit 的 ...

  2. Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)

    Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...

  3. Windows平台下Python2.7中pip的安装方法

    本文允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 文件下载 需要下载并运行ez_se ...

  4. Windows 平台下Myeclipse 10 中SVN 插件使用教程(TortoiseSVN)

    1.  TortoiseSVN 简介 版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许 ...

  5. 2015.5.21 VS2010中引用Word组件后提示 类型“Microsoft.Office.Interop.Word.ApplicationClass”未定义构造函数 解决方法

    wordApp = new Word.ApplicationClass();//这句在VS2005中没问题,在2010中会报错. 解决方法:在资源管理器 “引用”项的"Microsoft.O ...

  6. echarts getAttribute”的值: 对象为 null 或未定义 错误解决方法,

    echarts.js引用放在head中或者放在body中HTML代码的前面了,造成加载时阻塞后面的html. 解决方法就是将echarts.js的引用放在</body>之前就可以了,完美解 ...

  7. ie6、ie7下JSON.parse JSON未定义的解决方法

    解决方法一: var jsons = req.responseText; var s; if (typeof(JSON) == 'undefined'){ s = eval("(" ...

  8. Windows平台下Qt中glut库的使用

    用Qt中的QGLWidget窗体类中是不包括glut工具库的,难怪在myGLWidget(在我的程序中是QGLWidget的派生类)中绘制实心球体是说“glutSolidSphere”: 找不到标识符 ...

  9. Windows平台下Qt开发环境的搭建

    Qt 是采用开源和商用双协议发布的开放源代码的图形开发类库,现在很多图形化的开源软件都使用了Qt. 下载地址:http://qt-project.org/downloads 1. 下载安装包 你可以从 ...

随机推荐

  1. 【python】-- Django ORM(进阶)

    Django ORM(进阶) 上一篇博文简述了Django ORM的单表操作,在本篇博文中主要简述Django ORM的连表操作. 一.一对多:models.ForeignKey() 应用场景:当一张 ...

  2. 007-sql整体概述

    一.概述 sql基础:数据库.数据表.行.列.关系 查询: Select 字段1,字段2,* from 表 where 条件 去除重复:Distinct 必须放在所有列前面 区间语句:BETWEEN ...

  3. http的keep-alive和tcp的keepalive区别

    原文地址:http://blog.csdn.net/oceanperfect/article/details/51064574 1.HTTP Keep-Alive在http早期,每个http请求都要求 ...

  4. 我的第四个Python小程序

    简单的登陆程序: # Author: fansik # Description: Simply log in to small programs # Date: 2017/9/29 _username ...

  5. PictureBox 双缓冲防止闪屏

    Bitmap bm = new Bitmap(this.pbTraffic.Image); BufferedGraphicsContext current = BufferedGraphicsMana ...

  6. JavaScript:学习笔记(1)——在HTML中使用JS

    在HTML中使用JavaScript <script>元素 1.直接在网页中嵌入JS代码 说明: 请不要在代码的任何地方出现</script>字符串 这是由于解析嵌入式代码的规 ...

  7. Openstak(M版)控制节点安装

    #############修改hosts文件 # controller10.0.0.11 controller# compute110.0.0.31 compute1# block110.0.0.41 ...

  8. 正则表达式test match exec search

    (1)((2))(3)   $1  是第一个括号 $2  是第二个括号 $3  是第二个括号中的括号 $4  是第三个括号     http://www.jb51.net/article/28007. ...

  9. java PinYinUtils 拼音工具类

    package com.sicdt.library.core.utils; import java.util.HashSet; import java.util.Set; import net.sou ...

  10. mybatis collection 一对多关联查询,单边分页的问题总结!

    若想直接通过sql实现多级关联查询表结构得有2 个必不可少的字段:id ,parentId,levelId id:主键id, parentId:父id levelId:表示第几级(表本身关联查询的时候 ...