本人使用的环境

操作系统:windows10

Qt构建套件:qt-mingw4.8.5 + mingw4.4.0
Qt Creator版本:3.6.1
 
本教程配置针对工程而言,每个工程需要单独配置。
 
一、下载并解压glut库
我使用的版本下载地址为:
 
解压后得到以下五个文件

 
二、工程配置
在工程源码路径下新建一个文件夹glut,放入刚刚解压得到的五个文件夹
 
修改工程相应的pro文件,在末尾添加:
win32: LIBS += -L$$PWD/glut/ -lglut32
win32: LIBS += -L$$PWD/glut/ -lglut INCLUDEPATH += $$PWD/glut
DEPENDPATH += $$PWD/glut
 

 这几行代码告诉编译器链接时要到哪里去找外部链接库。除了添加链接代码外,在Qt Creator里,可以右键工程名,选择-添加库
 
 接着选择外部库
 
点击库文件的“浏览”按钮,选择要链接的lib文件。
如果头文件和库文件不再同一个目录,点击包含路径的“浏览”按钮,选择相应的头文件。
本次lib和头文件在一个目录,故浏览添加一次就可以了。

 
 
 
完成添加,pro文件中会加上相应代码

 
为了兼容性,最好把 glut.lib也链接进工程(添加步骤一样)。
 
三、使用
准备工作好了,接下来就是在代码中使用了。只要在相应的文件包含以下头文件,就可以直接使用glut*开头的函数了。
  1. #include<windows.h>
  2. #include<glut.h>
注意,如果是mingw编译器,必须添加<windows.h>这个头文件,不然编译出来的程序无法运行。(vs编译器可以不用加。)
 
用mingw编译时,会有以下警告:

 可以简单修改头文件,

 这样再次编译就不会有警告了。glut.h默认的只读的,需要在windows自带的资源管理器下修改后才能编辑。
使用mingw的编译器,会默认定义宏__MINGW32__(VC系列编译器为_MSC_VER)。还是看不懂的同学可以百度“条件编译”。
 
一劳永逸,针对编辑器设置(mingw版本)
声明{mingwDir}为你的mingw编译器(不是Qt套件)的安装路径。
 
一、下载解压,得到五个文件
二、把解压得到的glut.h放到{mingwDir}\include\GL文件夹。

 
三、把解压得到的glut.lib和glut32.lib放到{mingwDir}\lib文件夹
 
四、把解压得到的glut.dll和glut32.dll放到C:\Windows\System32和C:\Windows\SysWOW64(32位电脑没这个文件夹
 
五、准备结束,使用时直接包含以下头文件
  1. #include<gl/glut.h>
并在pro文件末尾(随便什么地方都可以啦)添加
 LIBS += -lglut32

 之后就可以使用glut*系列的函数了。
 
总结:
1、说白了就是为工程添加外部链接库。
2、{mingDir}的文件路径替换为MVC的文件路径(通常路径为(VS2013)X:\Program Files (x86)\Microsoft Visual Studio 12.0\VC),就是VS版本的一劳永逸了。
3、同样是mingw编译器,为工程设置需要包含<windows.h>,为编辑器设置则不用,这里我自己也没搞懂。

Qt工程使用第三方库——Qt下使用glut库的更多相关文章

  1. 【转】Qt下使用glut库

    ps:这个说的很明白,尤其是win10环境下用mingw环境时编程时碰到的问题, 1.加 windows.h 2.在.pro 添加libs     博文地址:Qt下使用glut库   本人使用的环境 ...

  2. windows系统中给qt工程添加第三方库

    · TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp LIBS ...

  3. 基于QT开发的第三方库

    基于Qt开发的第三方库 分类: Qt2014-02-12 11:34 1738人阅读 评论(0) 收藏 举报 QT第三方库   目录(?)[+]   文章来源:http://blog.csdn.net ...

  4. Linux下编译boost库和qt和ImageMagick

    需要把整个PCIE的工程移植到Linux下,当初就是用cmake来管理的工程的.但是命令行之类的还是需要改动.改动还不少,cmake里面很多东西都依赖于windows.包括我用cmake重新管理的工程 ...

  5. Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )

    看了不少linux上编译qt的文章,实际上直接通过yum 安装qt是最方便的,请参考<yum安装qt> 不过初步接触fedora,为了了解一下如何在linux上编译.安装开源代码,所以必须 ...

  6. Qt下Eigen矩阵函数库的添加

    第1步: 下载一个Eigen文件包,在官网下即可: http://eigen.tuxfamily.org/index.php?title=Main_Page 第2步: 用Qt随便建一个GUI工程,在. ...

  7. windows下Qt Creator5.1.0编写程序以及调用OpenCV库

    系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...

  8. QT工程构建目录下,将生成的中间文件和可执行文件分离

    在QT工程中,当我们选择了构建目录后,编译生成程序后,总会发现在debug目录下会有混淆着各类文件,如下图 很多时候,我们又仅仅只需要可执行文件或者自定义的动态链接库.如下图 当然,如果不觉得麻烦,有 ...

  9. Qt工程打包发布

    Qt版本 5.7.1 1.添加环境变量 在..\Qt5.7.0\5.7\msvc2013_64\bin(..省略了盘符,例如我的是D:\Qt\Qt5.7.0\5.7\msvc2013_64\bin) ...

随机推荐

  1. 11.安装KVM虚拟机

    安装KVM虚拟机是一大难题,不按照虚拟机物理机128G内存和强劲的CPU无法充分利用.也不便于后面的jenkins自动部署.安装KVM虚拟机过程我是借鉴了网上下载的马哥linux   KVM那块的内容 ...

  2. JAVA 列表排序

    以前都通过Comparator进行排序,今天看到个例子,通过apache-common工具包进行排序,实现例子参考下面界面 http://blog.csdn.net/lizeyang/article/ ...

  3. Scrum Meeting 9-20151211

    任务安排 姓名 今日任务 明日任务 困难 董元财 请假(参加编译测试) 无 胡亚坤 首页界面优化 无 刘猛 请假(参加编译测试) 无 马汉虎 请假(参加编译测试) 无 赖彦俞 请假(参加编译测试) 无 ...

  4. 背景:表A数据误操作,被delete了,恢复。

    SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE('2015-09-18', 'YYYY/MM/DD') select ...

  5. ARM处理器的寄存器

    在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节.整个过 ...

  6. View绘制--onMeasure() 、onLayout()

    绘制需要经过多次 measure() layout() 过程, measure:测量,不可被子类继承,调用onMeasure()方法 onMeasure():测量,测量结束后每一个View都保存了自己 ...

  7. stm32cube--串口

    1.printf函数重定向 ①以stm32f103rct6的usart1为例,打开cube,配置好RCC和USART1,生成mdk程序. ②打开工程,在main.c中 /* USER CODE BEG ...

  8. fiddler,https抓包设置

    1.fiddler 2 汉化版本不支持https证书下载,需要下载fiddler 4版本进行验证 若fiddler 2版本,可能存在无法访问Pc端fiddler返回页面,无法下载证书 2.打开Fidd ...

  9. git: No refs in common and none specified; doing no

    用gitolite新建项目,clone后首次push,可能会出现:     $ git push No refs in common and none specified; doing nothing ...

  10. [转]不正当使用HashMap导致cpu 100%的问题追究

    以前项目中遇到类似业务,但使用的是CurrentHashMap,看到这篇文章,转载记录,警示自己. 以下内容转自: 转载自并发编程网 – ifeve.com(http://ifeve.com/hash ...