Qt的.pro文件格式解析
Qt的.pro文件格式解析
在Qt中用qmake生成makefile文件,它是由.pro文件生成而来的,.pro文件的具体格式语法如下:
1.注释
.pro文件中注释采用#号,从“#”号开始,到该行的结束,例如:
2.模板TEMPLATE
模板变量告诉qmake为这个应用程序生成那种makefile文件。下面是可提供使用的选择:
TEMPLATE=app
- app-建立一个应用程序的makefile。这是个默认值,所以如果模板没有被指定,该模板将会被使用。
 - lib -建立一个库的makefile。
 - vcapp -建立一个应用程序的Visual Studio项目文件。
 - vclib -建立一个库的VisualStudio项目文件。
 - subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile,并且为它调用make的makefile。
 
3.添加文件路径
HEADERS +=用来添加头文件SOURCES +=用来添加源文件FORMS +=用来添加 ui 文件RESOURCES +=用来添加资源文件INCLUDEPATH +=用来存放添加头文件的路径DEPENDPATH +=用来添加依赖相关路径LIBS +=用来添加库文件
注意:
 INCLUDEPATH一般用在添加第三方 .dll 的时候所需的头文件路径;
 HEADERS用来添加当前项目的路径;
 LIBS += -LC:/Windows/System32/ -luser32
 格式为:-L 路径 -l 库名
 库比较多的时候可以用 \来达到换行目的
 引用相对路径的库文件的时候,$$PWD 指的是项目 .pro 文件所在的路径,`$$OUT_PWD` 指的是编译的目标所在的路径。如果不清楚路径,可以使用 message($$PWD) 打印路径查看绝对路径。
DESTDIR +=指定生成的应用程序的存放目录。TARGET =指定生成的应用程序的名字。UI_DIR +=用来存放编译的时候 ui 生成的 ui_*.h 文件。RCC_DIR +=存放 .qrc 生成的 qrc_*.h 文件。MOC_DIR +=用来存放 moc 命令转换添加的Q_OBJECT的 .h 文件为标准 .h 文件的存放路径。OBJECTS_DIR +=用来存放目标文件 .obj 存放的路径。
注:
UI_DIR 、RCC_DIR 、 MOC_DIR 、OBJECTS_DIR 可以认为都是用来存放中间文件,只是存放的中间文件有所不同,不指定的话默认会存放在 .pro 文件所在的路径,显得工程看起来比较乱
4.添加配置信息
CONFIG +=用来指的应用程序的配置信息。
| 参数 | 说明 | 
|---|---|
| release | 项目被联编为一个发布的应用程序 | 
| debug | 项目被联编为一个debug的应用程序,debug 和 release 同时设置的时候,最后面的一个生效 | 
| debug_and_release | 项目被联编为 debug 和 release | 
| warn_on | 编译器输出尽可能多的警告信息 | 
| c++11 | 支持 c++11 的标准 | 
| thread | 支持线程,当 CONFIG 参数包含 qt 的时候,这个是默认支持的 | 
5.实例
TEMPLATE	= app
LANGUAGE	= C++
QT += widgets xml sql network opengl
CONFIG	+= qt warn_on release
HEADERS	+= *.h
SOURCES	+= *.cpp
FORMS  += *.ui
RESOURCES += \
    DiffusionFilter.qrc
												
											Qt的.pro文件格式解析的更多相关文章
- QT中PRO文件解析(转)
		
From csdn blog: QT中PRO文件写法的详细介绍,很有用,很重要! 在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: ...
 - Qt之pro文件解析
		
在我们创建Qt工程项目时,Qt Creator总会创建一个.pro文件,我们称.pro文件为Qt的工程管理文件.一个工程项目可以包含一个或多个.pro文件.理解和掌握pro文件的用法,将有利于Qt开发 ...
 - C++PE文件格式解析类(轻松制作自己的PE文件解析器)
		
PE是Portable Executable File Format(可移植的运行体)简写,它是眼下Windows平台上的主流可运行文件格式. PE文件里包括的内容非常多,详细我就不在这解释了,有兴趣 ...
 - ArcGIS三大文件格式解析
		
原文:ArcGIS三大文件格式解析 Shape数据 Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点.线.多边形存储要素的形状,却不能存储拓扑关系,具有简单.快速 ...
 - Android init.rc文件格式解析
		
/***************************************************************************** * Android init.rc文件格式 ...
 - QT中.pro文件的写法
		
QT中.pro文件的写法 qmake 变量 含义 #xxxx 注释, 从“#”开始,到这一行结束 SOURCES 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开 SOURC ...
 - Qt中 .pro 文件和 .pri 文件简介
		
*.pro 这是一个典型的Qt示例程序的.pro文件(propriprfprl.pro): TEMPLATE = app CONFIG += QT QT += core gui TARGET = pr ...
 - QT中PRO文件写法的详细介绍
		
学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理. Qt程序一般使用Qt提供的qmake工具来编译. qmake ...
 - 如何将QT的pro图标修改的更显著一些
		
如何将QT的pro图标修改的更显著一些 QT的项目打开文件是pro,默认是这样的 这个白色的背景在很多文件中很不好找 所以使用工具进行相关修改. 寻找到.pro 双击修改ico 默认的这个就非常不错. ...
 
随机推荐
- POJ3368题解
			
题目大意:一个非降序序列,有若干查询,每次查询一个区间中重复次数最多的数字的个数. 思路:因为是非降序的,所以可以从头遍历把每个相同的数字划为一个块,用p[i]表示ai划分到了哪个块里面,同时还可以记 ...
 - 平平无奇的项目「GitHub 热点速览 v.22.10」
			
不知道大家对高星项目什么印象?提到这个词第一个想到哪个项目呢?本周有几个项目看着普普通通,却完成了一周 2k+ star 的事迹.比如 SingleFile,它是个浏览器扩展,点击图标之后即可保存一个 ...
 - Python:取整函数、四舍五入
			
int(a) 绝对值向0方向取整,符号不变 math.ceil(a) 向正无穷取整 math.floor(a) 向负无穷取整 round(a,n=0) 四舍五入,第二个参数说明保留小数位数
 - httpHelper 从URL获取值
			
/// <summary> /// 从URL获取值(字符串) /// </summary> public static string GetValueFromUrl(strin ...
 - Typora使用教程 之 PicGo集成做图床
			
目录 一.Typora是什么 二.研究它的原因 三.需要解决的问题 四.解决图床问题 1.下载PicGo 2.安装下载的PicGo,并根据下图所示配置(必须安装nodejs,否则插件一直是" ...
 - 【C语言】关于单片机中断详解
			
什么是中断?就是打断当前要做的事,转而去执行别的事情.比如小七我现在正在电脑前写帖子,突然老妈叫我帮她下楼拿点东西,于是我就收到了老妈给我的一个中断(可以叫做外部中断),当我去拿东西时,突然尿急(内部 ...
 - kali linux 更换国内源报GPG error解决办法
			
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
 - python 命令运行环境下  ModuleNotFoundError: No module named 'Test'
			
解决方法有两种 1. 第一种设置环境变量法 on windows the line is : SET PYTHONPATH=%cd%;%cd%\Test NOT SET PYTHONPATH=%cd% ...
 - JavaWeb之Servlet、拦截器、监听器及编程思想
			
本文包含的内容有: Servlet的理解 自定义Servlet.监听器和过滤器 三者的一点点编程设计思想 后续的学习 JavaWeb是Web开发的重要基础,对Servlet.监听器和过滤器等知识的掌握 ...
 - MySQL CREATE TABLE 简单设计模板交流
			
推荐用 MySQL 8.0 (2018/4/19 发布, 开发者说同比 5.7 快 2 倍) 或同类型以上版本. CREATE TABLE TEMPLATE CREATE TABLE [table ...