本人使用的环境

操作系统: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. TextInfo

    https://msdn.microsoft.com/en-us/library/system.globalization.textinfo.totitlecase(v=vs.110).aspx Co ...

  2. Ubuntu 16.04 + Caffe

    主要参考: https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide http://caffe.berke ...

  3. Windows Internals学习笔记(六)Windows关键系统组件

    参考资料: 1. <Windows Internals> 2. Dependency Walker 3. Ntoskrnl.exe 4. Livekd的使用 5. WinDbg的使用(一) ...

  4. (二)Kafka动态增加Topic的副本(Replication)

    (二)Kafka动态增加Topic的副本(Replication) 1. 查看topic的原来的副本分布 [hadoop@sdf-nimbus-perf ~]$ le-kafka-topics.sh ...

  5. Await Async Task

    class Program { static void Main(string[] args) { Console.WriteLine("=======Start Main!======== ...

  6. 笔记本_thinkpad_e440

    ZC: 这是我现在手上 公司工作的笔记本 1.进入 BIOS --> Enter键 2.背面信息 笔记本序列号(用于查找 驱动等) (ZC: 这个是 ThinkPad E440 的信息) 序号为 ...

  7. Centos6下rpm安装MySQL5.6

    Centos6在rpm安装 rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum install ...

  8. IIS6.0开启gzip压缩(来自百度)

    IIS6.0开启gzip压缩 | 更新:2012-08-10 10:29 1 2 3 4 5 分步阅读 开启gzip可以极大的加速网站.有时压缩比率高达80%,近来测试了一下,最少都有40%以上,还是 ...

  9. CentOS7下安装MYSQL5.7

    第一种方式:yum安装 1.下载mysql57-community-release-el7-9.noarch 下载地址:http://dev.mysql.com/downloads/repo/yum/

  10. Java:Collection List Set

    Java:集合 常见集合:List Set List 特点:元素是有序的,而且元素可以重复,因为该集合体系有索引. 常见的三个子类:ArrayList.LinkedList.Verctor List集 ...