Qt的.pro文件简介
.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文件简介相关推荐
- qt的重要文件简介pro、moc、pri、prf
qt的重要文件简介pro.moc.pri.prf 一.项目文件(pro 文件)及其语法 二.moc 简介 三.pro.pri.prf 文件简介 一.项目文件(pro 文件)及其语法 1.项目文件(pr ...
- Qt 中pro文件换行注意的问题
Qt 中pro文件换行必须用 \,直接按回车换行会导致程序不正确.如下: CONFIG(debug, debug|release) {OBJECTS_DIR += $$PWD/../debugDES ...
- 深入理解Qt的.pro文件
深入理解Qt的pro文件 模板变量 生成目录 生成的应用程序名 编译选项 目标文件目录 包含头文件 包含源文件 包含资源文件 附加头文件包含 链接库 预编译宏 平台相关性处理 指定来自ui文件位置 指 ...
- Qt中pro文件如何从相对路径导入库
Qt中pro文件如何从相对路径导入库 Qt工程中有lib.dll.a.so等文件需要导入时,有时需要指定路径.指定绝对路径换到其他机器编译时会不大方便.那么,如何在Qt pro文件中通过相对路径导入库 ...
- qt中.pro文件详细说明
工程上需要使用QT框架进行项目开发,.pro文件里面的具体配置方式比较模糊.详细整理文件里各配置项的含义,并对其编写方法进行归纳总结. 目录 1.配置项说明 1.1.注释 # 1.2.添加/排除QT项 ...
- [qt creator]pro文件的设置
1. 怎么使exe输出到指定目录 DESTDIR =$$PWD/../bin 2.QT中默认不选中Shadow build设置方法 3.test.pro文件常用的设置 TEMPLATE = app C ...
- 【QT】震惊,一个由于QT只有.pro文件引起的世界难题。本文解决QT只有.pro的问题以及在项目中添加文件时,发生了一个编码错误的问题。
震惊,一个由于QT只有.pro文件引起的世界难题!! 新手必看,避雷!!!不要相信网上那些人,他们文章中看不中用,正所谓印证了网络上的一句话:一人创作,万人模仿啊.和某手某音差不多!!# 概述:问题的 ...
- QT中PRO文件写法的详细介绍
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: 1. 注释 从"#"开始,到这一行结束. 2.模板变量告诉q ...
- Qt 工程 pro文件
原文链接:https://www.cnblogs.com/Braveliu/p/5107550.html 工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的 ...
最新文章
- C# Task注意事项
- 转载:CSS hack技巧大全
- Java线程的概念:什么是线程?
- python 艺术照片滤镜_使用Python创建自己的Instagram滤镜|视觉实战
- 一招明白URL和URI的区别
- stm32c语言arctan函数,超高速的反正切算法,纯整数运算
- 7年,我从功能测试到测试开发,写给即将进入或者正在做测试的你...
- JAVA给banking作界面_银行运行模拟编程 求助!!!
- 面试专题01-一次面试遇到的问题
- Mysql常见的引擎
- 超简单的windows发包工具—小兵以太网测试仪
- 还在担心找不到驱动程序吗?driveridentifier三步帮你解决所有
- 企业盈利能力五大指标之:毛利率
- JS实现鼠标点击特效,五颜六色的小球绽放
- 利用kNN算法对iris数据集进行分类,本人也做了修改使得代码可实现
- Oracle 11g 学习笔记-6(触发器、函数、存储过程、程序包)
- JavaScript——调试的使用
- linux系统怎么远程进服务器
- win10如何新增ip地址
- 采用顺序结构存储串,设计实现求串S和串T的一个最长公共子串的算法。
热门文章
- php怎么转换bt,BT面板更换PHP版本 宝塔BT使用教程
- HCIE(M-LAG)
- word公式编号及交叉引用技巧
- windows重装系统
- 怎样进行大数据的入门级学习?
- SpringBoot开源文档型知识库系统,源代码分享
- Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎
- linux:线程同步的5种方法
- C语言编程中void什么意思,程序设计中遇到的void到底是什么意思
- 学习笔记:Towards Counterfactual Image Manipulation via CLIP 基于CLIP的反事实图像处理研究