.pro文件是qt项目用于管理代码文件、资源文件等的配置文件
对.pro文件进行qmkae可以生成Makefile文件,通过Makefile进一步编译即可完成对整个项目的编译。

.pro文件示例代码

#-------------------------------------------------
#
# Project created by QtCreator 2019-01-14T15:47:03
#
#-------------------------------------------------QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = MotionController
TEMPLATE = app# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += main.cpp\mainwindow.cpp \GCode.cpp \GCodeParser.cpp \GCodeParserThread.cpp \GCodeChecker.cpp \MotionController.cppHEADERS  += mainwindow.h \GCode.h \GCodeParser.h \GCodeParserThread.h \GCodeChecker.h \MotionController.hFORMS    += mainwindow.ui

输出终端

Qt Creator为.pro文件提供了打印终端。即“概要信息”,每次修改完.pro文件后,按下保存,“概要信息”终端会打印该.pro文件中的信息提示。

.pro文件语法

注释

.pro文件注释使用#进行注释;

判断Qt版本

示例:判断当前的qt版本是否符合,不符合则提示所需的版本进行编译;

lessThan(QT_MAJOR_VERSION, 5) {error("current Qt version $$QT_VERSION, this project need grather than 5.12.0")
} else: lessThan(QT_MINOR_VERSION, 12){error("current Qt version $$QT_VERSION, this project need grather than 5.12.0")
}

从上面代码可以看出:

关键字 释义
QT_MAJOR_VERSION Qt主版本号
QT_MINOR_VERSION Qt次版本号
QT_PATCH_VERSION Qt补丁版本号

信息打印的种类

关键字 释义
message("This is a message.") 【提示】打印
warning("This is a warning.") 【警告】打印
error("This is a error.") 【错误】打印

注意:调用error()后,pro文件就此结束,error()以后的语句均不会进行。

其他关键字的意义

关键字 释义
QT 指定所要使用的Qt模块(默认是core gui,对应于QtCore和QtGui模块)
TARGET 指定可执行文件或库的基本文件名,其中不包含任何的扩展、前缀或版本号(默认的是当前的目录名);
TEMPLATE 指定qmake为这个应用程序生成哪种makefile;
DEFINES 应用程序所需的额外的预处理程序定义的列表;
SOURCES 应用程序中的所有源文件的列表;
HEADERS 应用程序中的C++头文件(.h);
FORMS 应用程序中的所有.ui文件(由Qt设计器生成)的列表;
DESTDIR 放置可执行程序目标的目录;
INCLUDEPATH 应用程序所需的额外的包含路径的列表
DEPENDPATH 应用程序所依赖的搜索路径
CONFIG 配置变量指定了编译器所要使用的选项和所需要被连接的库。
VPATH 寻找补充文件的搜索路径
DEF_FILE 只有Windows需要:应用程序所要连接的.def文件
RC_FILE 只有Windows需要:应用程序的资源文件
RES_FILE 只有Windows需要:应用程序所要连接的资源文件

TEMPLATE关键字有如下类型

TEMPLATE关键字内容 释义
app 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
lib 建立一个库的makefile。当使用这个模板时,除了“app”模板中提到系统变量,还有一个VERSION是被支持的。你需要在为库指定特定信息的.pro文件中使用它们。VERSION - 目标库的版本号,比如,2.3.1。
vcapp 建立一个应用程序的Visual Studio项目文件。
vclib 建立一个库的Visual Studio项目文件。
subdirs 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。在这个模板中只有一个系统变量SUBDIRS可以被识别。这个变量中包含了所要处理的含有项目文件的子目录的列表。这个项目文件的名称是和子目录同名的,这样qmake就可以发现它。例如,如果子目里是“myapp”,那么在这个目录中的项目文件应该被叫做myapp.pro。

CONFIG关键字有如下类型

配置变量指定编译器所要使用的选项和所需要被连接的库。配置变量中可以添加任何东西,但只有下面这些选项可以被qmake识别。

CONFIG关键字内容 释义
release 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。
debug 应用程序将以debug模式连编。
warn_on 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。
warn_off 编译器会输出尽可能少的警告信息。
qt 应用程序是一个Qt应用程序,并且Qt库将会被连接。
thread 应用程序是一个多线程应用程序。
x11 应用程序是一个X11应用程序或库。
windows 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。
console 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。
dll 只用于“lib”模板:库是一个共享库(dll)。
staticlib 只用于“lib”模板:库是一个静态库。
plugin 只用于“lib”模板:库是一个插件,这将会使dll选项生效。

Qt的.pro文件简介相关推荐

  1. qt的重要文件简介pro、moc、pri、prf

    qt的重要文件简介pro.moc.pri.prf 一.项目文件(pro 文件)及其语法 二.moc 简介 三.pro.pri.prf 文件简介 一.项目文件(pro 文件)及其语法 1.项目文件(pr ...

  2. Qt 中pro文件换行注意的问题

    Qt 中pro文件换行必须用  \,直接按回车换行会导致程序不正确.如下: CONFIG(debug, debug|release) {OBJECTS_DIR += $$PWD/../debugDES ...

  3. 深入理解Qt的.pro文件

    深入理解Qt的pro文件 模板变量 生成目录 生成的应用程序名 编译选项 目标文件目录 包含头文件 包含源文件 包含资源文件 附加头文件包含 链接库 预编译宏 平台相关性处理 指定来自ui文件位置 指 ...

  4. Qt中pro文件如何从相对路径导入库

    Qt中pro文件如何从相对路径导入库 Qt工程中有lib.dll.a.so等文件需要导入时,有时需要指定路径.指定绝对路径换到其他机器编译时会不大方便.那么,如何在Qt pro文件中通过相对路径导入库 ...

  5. qt中.pro文件详细说明

    工程上需要使用QT框架进行项目开发,.pro文件里面的具体配置方式比较模糊.详细整理文件里各配置项的含义,并对其编写方法进行归纳总结. 目录 1.配置项说明 1.1.注释 # 1.2.添加/排除QT项 ...

  6. [qt creator]pro文件的设置

    1. 怎么使exe输出到指定目录 DESTDIR =$$PWD/../bin 2.QT中默认不选中Shadow build设置方法 3.test.pro文件常用的设置 TEMPLATE = app C ...

  7. 【QT】震惊,一个由于QT只有.pro文件引起的世界难题。本文解决QT只有.pro的问题以及在项目中添加文件时,发生了一个编码错误的问题。

    震惊,一个由于QT只有.pro文件引起的世界难题!! 新手必看,避雷!!!不要相信网上那些人,他们文章中看不中用,正所谓印证了网络上的一句话:一人创作,万人模仿啊.和某手某音差不多!!# 概述:问题的 ...

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

    在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: 1. 注释 从"#"开始,到这一行结束. 2.模板变量告诉q ...

  9. Qt 工程 pro文件

    原文链接:https://www.cnblogs.com/Braveliu/p/5107550.html 工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的 ...

最新文章

  1. C# Task注意事项
  2. 转载:CSS hack技巧大全
  3. Java线程的概念:什么是线程?
  4. python 艺术照片滤镜_使用Python创建自己的Instagram滤镜|视觉实战
  5. 一招明白URL和URI的区别
  6. stm32c语言arctan函数,超高速的反正切算法,纯整数运算
  7. 7年,我从功能测试到测试开发,写给即将进入或者正在做测试的你...
  8. JAVA给banking作界面_银行运行模拟编程 求助!!!
  9. 面试专题01-一次面试遇到的问题
  10. Mysql常见的引擎
  11. 超简单的windows发包工具—小兵以太网测试仪
  12. 还在担心找不到驱动程序吗?driveridentifier三步帮你解决所有
  13. 企业盈利能力五大指标之:毛利率
  14. JS实现鼠标点击特效,五颜六色的小球绽放
  15. 利用kNN算法对iris数据集进行分类,本人也做了修改使得代码可实现
  16. Oracle 11g 学习笔记-6(触发器、函数、存储过程、程序包)
  17. JavaScript——调试的使用
  18. linux系统怎么远程进服务器
  19. win10如何新增ip地址
  20. 采用顺序结构存储串,设计实现求串S和串T的一个最长公共子串的算法。

热门文章

  1. php怎么转换bt,BT面板更换PHP版本 宝塔BT使用教程
  2. HCIE(M-LAG)
  3. word公式编号及交叉引用技巧
  4. windows重装系统
  5. 怎样进行大数据的入门级学习?
  6. SpringBoot开源文档型知识库系统,源代码分享
  7. Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎
  8. linux:线程同步的5种方法
  9. C语言编程中void什么意思,程序设计中遇到的void到底是什么意思
  10. 学习笔记:Towards Counterfactual Image Manipulation via CLIP 基于CLIP的反事实图像处理研究