Qt的.pro文件格式解析

在Qt中用qmake生成makefile文件,它是由.pro文件生成而来的,.pro文件的具体格式语法如下:

1.注释

.pro文件中注释采用#号,从“#”号开始,到该行的结束,例如:

2.模板TEMPLATE

模板变量告诉qmake为这个应用程序生成那种makefile文件。下面是可提供使用的选择:

  1. TEMPLATE=app
  1. app-建立一个应用程序的makefile。这是个默认值,所以如果模板没有被指定,该模板将会被使用。
  2. lib -建立一个库的makefile。
  3. vcapp -建立一个应用程序的Visual Studio项目文件。
  4. vclib -建立一个库的VisualStudio项目文件。
  5. subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile,并且为它调用make的makefile。

3.添加文件路径

  1. HEADERS += 用来添加头文件

  2. SOURCES += 用来添加源文件

  3. FORMS += 用来添加 ui 文件

  4. RESOURCES += 用来添加资源文件

  5. INCLUDEPATH += 用来存放添加头文件的路径

  6. DEPENDPATH += 用来添加依赖相关路径

  7. LIBS += 用来添加库文件

注意:

  1. INCLUDEPATH一般用在添加第三方 .dll 的时候所需的头文件路径;
  2. HEADERS用来添加当前项目的路径;
  3. LIBS += -LC:/Windows/System32/ -luser32
  4. 格式为:-L 路径 -l 库名
  5. 库比较多的时候可以用 \来达到换行目的
  6. 引用相对路径的库文件的时候,$$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_DIRRCC_DIRMOC_DIROBJECTS_DIR 可以认为都是用来存放中间文件,只是存放的中间文件有所不同,不指定的话默认会存放在 .pro 文件所在的路径,显得工程看起来比较乱

4.添加配置信息

  • CONFIG += 用来指的应用程序的配置信息。
参数 说明
release 项目被联编为一个发布的应用程序
debug 项目被联编为一个debug的应用程序,debug 和 release 同时设置的时候,最后面的一个生效
debug_and_release 项目被联编为 debug 和 release
warn_on 编译器输出尽可能多的警告信息
c++11 支持 c++11 的标准
thread 支持线程,当 CONFIG 参数包含 qt 的时候,这个是默认支持的

5.实例

  1. TEMPLATE = app
  2. LANGUAGE = C++
  3. QT += widgets xml sql network opengl
  4. CONFIG += qt warn_on release
  5. HEADERS += *.h
  6. SOURCES += *.cpp
  7. FORMS += *.ui
  8. RESOURCES += \
  9. DiffusionFilter.qrc

Qt的.pro文件格式解析的更多相关文章

  1. QT中PRO文件解析(转)

    From csdn blog: QT中PRO文件写法的详细介绍,很有用,很重要! 在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: ...

  2. Qt之pro文件解析

    在我们创建Qt工程项目时,Qt Creator总会创建一个.pro文件,我们称.pro文件为Qt的工程管理文件.一个工程项目可以包含一个或多个.pro文件.理解和掌握pro文件的用法,将有利于Qt开发 ...

  3. C++PE文件格式解析类(轻松制作自己的PE文件解析器)

    PE是Portable Executable File Format(可移植的运行体)简写,它是眼下Windows平台上的主流可运行文件格式. PE文件里包括的内容非常多,详细我就不在这解释了,有兴趣 ...

  4. ArcGIS三大文件格式解析

    原文:ArcGIS三大文件格式解析 Shape数据 Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点.线.多边形存储要素的形状,却不能存储拓扑关系,具有简单.快速 ...

  5. Android init.rc文件格式解析

    /***************************************************************************** * Android init.rc文件格式 ...

  6. QT中.pro文件的写法

    QT中.pro文件的写法   qmake 变量 含义 #xxxx 注释, 从“#”开始,到这一行结束 SOURCES 指定源文件 SOURCES = *.cpp 对于多源文件,可用空格分开 SOURC ...

  7. Qt中 .pro 文件和 .pri 文件简介

    *.pro 这是一个典型的Qt示例程序的.pro文件(propriprfprl.pro): TEMPLATE = app CONFIG += QT QT += core gui TARGET = pr ...

  8. QT中PRO文件写法的详细介绍

    学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理. Qt程序一般使用Qt提供的qmake工具来编译. qmake ...

  9. 如何将QT的pro图标修改的更显著一些

    如何将QT的pro图标修改的更显著一些 QT的项目打开文件是pro,默认是这样的 这个白色的背景在很多文件中很不好找 所以使用工具进行相关修改. 寻找到.pro 双击修改ico 默认的这个就非常不错. ...

随机推荐

  1. Deep Upsupervised Cardinality Estimation 解读(2019 VLDB)

    Deep Upsupervised Cardinality Estimation 本篇博客是对Deep Upsupervised Cardinality Estimation的解读,原文连接为:htt ...

  2. 【C# 线程】内存模型(C#)---非常重要 【多线程、并发、异步的基础知识】

    内存模型概述 MSDN:理论与实践中的 C# 内存模型 MSDN:理论与实践中的 C# 内存模型,第 2 部分 内存模型就是内存一致性模型. 以下内如来自维基百科 内存一致性模型列表 线性一致性(Li ...

  3. VS Code nodejs智能补全typings

    安装typings node.js自动补全使用npm全局安装typings npm install -g typings -安装语法插件以安装node.js自动补全为例,在项目根目录下使用bash或者 ...

  4. LeetCode-046-全排列

    全排列 题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例说明请见LeetCode官网. 来源:力扣(LeetCode) 链接:http ...

  5. mplus数据分析:增长模型潜增长模型与增长混合模型再解释

    混合模型,增长混合模型这些问题咨询的同学还是比较多的,今天再次尝试写写它们的区别,希望对大家进一步理解两种做轨迹的方法有帮助. 首先,无论是LCGA还是GMM,它们都是潜增长模型的框框里面的东西: L ...

  6. laravel 框架 下拉分页

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  7. 从零开始,开发一个 Web Office 套件(9):拖动鼠标选中文字 Edge Case

    这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...

  8. 【图片+代码】:GCC 链接过程中的【重定位】过程分析

    作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...

  9. LGP4216题解

    这是一种题解没有的 \(O(m\log n)\) 做法. 首先第一步转化.设这是第 \(x\) 个任务,若 \(opt\) 为 \(1\),危险值大于 \(c\) 的只有可能在第 \(x-c-1\) ...

  10. LGP7167题解

    考试的一道题,因为某些原因sb了常数翻了好几倍/px 首先我们发现,一个水池的水只会向它下边第一个直径比它大的水池流. 我们把这些流动的关系连边,很容易发现是一棵树. 问水最后会到哪个水池相当于在问最 ...