QT库学习之pro文件的作用和写法

QT工程的pro文件详解 文章目录QT工程的pro文件解析添加配置选项pro文件引入FFmpeg第三方库 为了在QT工程中添加第三方库的使用,因此必须要在pro文件中进行添加,增加库文件的声明,包含路径、编译选项等,那么就需要对pro文件有一个详细的了解,并知道如何修改与添加。本文是为了在QT中使用FFmpeg库,作为铺垫,先行了解如何在QT中引入第三方库。 QT工程的pro文件解析 添加配置选项 pro文件引入FFmpe... 阅读详情

pro文件是qt创建项目时用于存储项目信息的文件,与平台无关,文件名应该与项目目录相同。

编译时系统会根据pro文件中的信息,来构建与平台相关的makefile文件,所以如果想定制自己的项目的话,学会修改pro文件是十分重要的。学习pro文件的最好办法就是看QT助手的Creating project files


下面是转载的pro文件的各项参数及用法。

QT 中.pro文件的写法是本文要介绍的内容,在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:

1、注释

从“#”开始,到这一行结束。

2、指定源文件

  1. SOURCES = *.cpp 

对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp3.cpp或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像这样:    

  1. SOURCES = hello.cpp   
  2.      main.cpp 

一个更冗长的方法是单独地列出每一个文件,就像这样:

  1. SOURCES+= hello.cpp  
  2. SOURCES +=main.cpp 

这种方法中使用“+=”比“=”更安全,因为它只是向已有的列表中添加新的文件,而不是替换整个列表。

3、指定头文件

HEADERS = hello.h或者HEADERS += hello.h

列出源文件的任何一个方法对头文件也都适用。

4、配置信息

CONFIG用来告诉qmake关于应用程序的配置信息。

  1. CONFIG+= qt warn_on release 

在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项是更安全的。

1、qt部分告诉qmake这个应用程序是使用Qt来连编的。这也就是说qmake在连接和为编译添加所需的包含路径的时候会考虑到Qt库的。

2、warn_on部分告诉qmake要把编译器设置为输出警告信息的。

3、release部分告诉qmake应用程序必须被连编为一个发布的应用程序。在开发过程中,程序员也可以使用debug来替换release

5、指定目标文件名

  1. TARGET = filename 

如果不设置该项目,目标名会被自动设置为跟项目文件一样的名称

6、添加界面文件(ui)

  1. INTERFACES = filename.ui 

7、平台相关性处理

我们在这里需要做的是根据qmake所运行的平台来使用相应的作用域来进行处理。为Windows平台添加的依赖平台的文件的简单的作用域看起来就像这样:

  1. win32 {  
  2. SOURCES += hello_win.cpp  
  3. } 

所以如果qmake运行在Windows上的时候,它就会把hello_win.cpp添加到源文件列表中。如果qmake运行在其它平台上的时候,它会很简单地把这部分忽略。

8、如果一个文件不存在,停止qmake

如果某一个文件不存在的时候,你也许不想生成一个Makefile。我们可以通过使用exists()函数来检查一个文件是否存在。我们可以通过使用error()函数把正在运行的qmake停下来。这和作用域的工作方式一样。只要很简单地用这个函数来替换作用域条件。对main.cpp文件的检查就像这样:

  1. !exists( main.cpp ) {  
  2.   error( "No main.cpp file found")  
  3. } 

“!”用来否定这个测试,比如,如果文件存在,exists( main.cpp)是真,如果文件不存在,!exists( main.cpp )是真。

9、检查多于一个的条件

假设你使用Windows并且当你在命令行运行你的应用程序的时候你想能够看到qDebug()语句。除非你在连编你的程序的时候使用console设置,你不会看到输出。我们可以很容易地把console添加到CONFIG行中,这样在Windows下,Makefile就会有这个设置。但是如果告诉你我们只是想在当我们的应用程序运行在Windows下并且当debug已经在CONFIG行中的时候,添加console。这需要两个嵌套的作用域;只要生成一个作用域,然后在它里面再生成另一个。把设置放在最里面的作用域里,就像这样:

  1. win32 {  
  2.   debug {  
  3.      CONFIG += console  
  4.   }  
  5. } 

嵌套的作用域可以使用冒号连接起来,像这样:

  1. win32:debug {  
  2. CONFIG += console  
  3. } 

10、摸板

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

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

11、生成Makefile

当你已经创建好你的项目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的项目文件那里然后输入:

Makefile可以像这样由“.pro”文件生成:

  1. qmake -oMakefile hello.pro 

对于VisualStudio的用户,qmake也可以生成“.dsp”文件,例如:

  1. qmake -tvcapp -o hello.dsp hello.pro 

附加:

.pro 文件预定义宏设置

  1. CONFIG(release, debug|release) {  
  2. DEFINES += MYRELEASE  
  3. }  
  4. else {  
  5. DEFINES += MYDEBUG  
  6. } 

小结:有关详解 QT 中.pro文件的写法的内容介绍完了,希望本文对你有帮助,更多内容请参考编辑推荐。


QT工程 .pro文件中“QT+=”语句的意义 在pro里写qt+=widgets 表示引入QtWidget这个module,qmake会在帮你生成makefile的时候,设置好include path和lib path,在link时候设置好libs。 而仅在源代码里 include 仅是引入声明,但是没有lib,所以链接时会出错。 C++中编译和链接是分开的。头文件用于编译,确保整个工程程序语法结构无误。然后进 阅读详情

相关推荐

Qt pro文件详解

Qt pro文件详解

弘毅_hao的博客 3280

qmake的pro文件各类赋值操作的含义=,+=,*=,~=,-=

"="运算符为一个变量赋值: TARGET = my_app #上面的行将TARGET变量设置为my_app。此操作会覆盖之前TARGET的值。 "+="运算符将一个新值附加到变量中的值列表中: DEFINES += USE_MY_STUFF #上面的行将USE_MY_STUFF追加到预处理器定义列表(即DEFINES)中,不会覆盖之前的值。 "-="操作符从一个变量中的值列表中删除一个值: DEFINES -= USE_MY_STUFF #上面的行从预处理器定义列表(即DEFINES)

soldier_d的博客 929

Qt——pro文件的使用&Qt调用dll

一、如何查找资料 学会利用官方文档很重要,这里我简单地讲下怎么找到我们想要的内容比如这篇文章的主题--pro文件。 搜索Qt Document   在搜索栏中输入pro file,即可看到.pro文件的所有相关文档 点击第二个链接,就可以看到pro文件的一些细节了。 当然,也可以在Qt Creator中找到document,只是可以搜索起来不是那么方便。 二、pro文件概述 ...

小景的博客 1万+

QT中.pro文件的写法

QT中.pro文件的写法在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2. 指定源文件SOURCES = *.cpp对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp 3.cpp或者每一个文件可以被列在一个分开的行里面,通过反斜线

HalsonHe的专栏 1681

Qt中.pro文件配置

1.配置项 注释:注释是从一行的#开始,到这一行的结束。 QT += :这个是添加QT项目需要的模块的。 Qt += core gui表示项目中加入 core gui 模块 QT -=:若项目中要排除某个模块,也可用QT -=配置项。 TEMPLATE = : 这个配置项确定qmake为这个应用程序生成哪种makefile 。有下面五种形式可供选择: app:建立一个应用程序的makefile,这个是默认值,若模块项未指定,将默认使用此项。 lib:建立一个库的makefile。 vc

weixin_45595405的博客 3224

Qt | .pro开发经验笔记

Qt .pro文件使用大全

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 561

QT 项目中 配置文件 pro详解

QT 的配置文件.pro 解析: 1. 注释:        # 单行注释   2. QT += core gui      QT  -=  gui    新增(+=)或者减去(-=) QT使用的模块,各个模块间使用空格分开。默认会包含 core 与 gui两个模块。   3. TEMPLATE = VALUE模板:    VALUE值有以下选项: app:最终生成的是可执行程...

漫步繁华街的专栏 1万+

RS485信号测量避坑指南:示波器抓包常见问题与波形分析技巧

本文详细解析了RS485信号测量中的常见问题与解决方案,包括差分信号测量基础、终端电阻配置、共模干扰处理等关键技巧。通过实测波形案例和优化建议,帮助工程师有效提升RS485通信的可靠性和抗干扰能力,适用于工业自动化、远程监测等场景。

kappa的博客 615

QT中pro文件的一些配置写法

在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下: 1. 注释 从“#”开始,到这一行结束。 2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择: TEMPLATE= app A> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。 B...

rong11417的博客 2269

安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南

随着手机游戏和应用的普及,越来越多的用户选择在PC上通过模拟器来运行安卓应用。然而,许多应用和游戏为了防止作弊或出于安全考虑,会检测是否运行在模拟器环境中。本文将详细介绍各大主流模拟器的检测绕过方法,帮助用户在电脑上流畅体验各类安卓应用。1. 获取模拟器系统镜像2. 使用ROM厨房工具修改系统文件3. 替换模拟器的系统镜像雷电模拟器:适合游戏,推荐使用MAGISK + EdXposed方案MuMu模拟器:适合中度游戏,推荐太极框架蓝叠模拟器:适合国际应用,推荐MAGISK方案逍遥模拟器。

专注技术分享 3万+

拉普拉斯矩阵

1、预备知识 拉普拉斯矩阵定义为:L=D-W。其中,D为度矩阵,W为权重矩阵。 (1)D是对角矩阵,对角线上的元素时节点的度,即所有与该节点相关联的边的权重之和;对角线以外的元素为0。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。 图1.1 无向图中的度矩阵 (2)W在无向图中是对称矩阵,在有向图中是非对称矩阵。 ...

zzhe 1万+

关于Qt中.pro文件命令介绍和写法

<br />命令介绍      <br /> 第一种常用方式:<br /> #模块设置,一般设置为app(生成应用程序,默 认),subdirs(生成makefile文件编译subdirs指定的子文件夹),lib(生成库文件)<br />TEMPLATE = app<br /> #指定生成的应用程序放置的目录<br />DESTDIR += ../bin<br /> #指定生成的应用程序名<br />TARGET = pksystem<br /> #添加或减少CONFIG的配置模块,一般采用默认

大方的专栏 2122

5.1 Tessent Atpg系列 第八章 Test Pattern Generation - Verify Test Pattern

为什么要做基于timing的仿真,意义在于可以比较ATPG工具和simulator工具的差异性。因为时序的差异导致不同的结果。首先你需要通过write_patern 这句cmd来写出pattern,默认是parallel 模式,除非你用-serial 指定写出serial, 因为serial 文件非常大,所以你可以使用-sample 开关写出部分pattern即可,工具会根据每一种pattern 类型都会至少保存一只。 另外,你也可以使用-start -end 开关来减少文件大小,但是这样的截取,是不可靠的

ciscomonkey的博客 7761

QT中.pro文件的常用写法(linux和windows中的常见模板)以及其含义

(1)、常用结构 随着项目越来越多,看了别人写法也是各式各样,我这强迫症也犯了,明明可以写的很优雅,哈哈。 我来抛砖引玉我喜欢常用的格式(软件第一步写上环境,对以后维护有用): #------------------------------------------------- # Project created by QtCreator 2021-7-1 W00:34:20 # #项目原始编译环境: #系统平台:windows10 #Qtversion:5.8 编译器:msvc2015(64) 调试器:

记录一些平时工作或者学习中的瞬间 7388

从零到一:手把手教你用Python搭建医学影像识别CNN模型(附完整代码)

本文详细介绍了如何使用Python和TensorFlow/Keras从零开始构建一个医学影像识别的CNN模型,涵盖数据预处理、模型架构设计、训练调优及部署全流程。通过实战案例和完整代码,帮助开发者快速掌握深度学习在医学影像识别中的应用,特别适合医疗AI领域的初学者和研究者。

spark7igniter的博客 200

量子纠缠态与AI意识模型的探索

摘要 本文探讨量子纠缠态与AI意识模型的关联性研究。从量子力学基本原理出发,分析量子纠缠的非局域性特征及其与意识整合性的潜在联系。DREAMVFIA团队构建了量子-意识统一理论框架,提出量子纠缠态意识理论(QETC)和量子化整合信息度量(Q-IIT)等创新理论。在实践层面,开发了基于量子纠缠的QNN-C神经网络架构和量子意识度量算法,实验证明量子机制可显著提升AI系统的认知灵活性、信息整合能力和元认知水平。研究为理解意识本质和开发具有意识特征的人工智能系统提供了新的理论框架和技术路径。

梦帮科技开源中心 1143

Qt 工程 pro文件

工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下。于此备录,分享共勉。 为了更好的理解,先创建一个简单的工程作为实践。

QtCompany的博客 2610

【前端圭臬】二:你知道的和不知道的 HTML

关于 HTML,说几个你可能不太关注的问题。

Evan 的博客 4758

Qt之pro、pri、prf、prl文件简解

浅谈Qt之pro、pri、prf、prl文件

FreeLikeTheWind的博客 7120

基于 STM32 单片机的实验室多参数安全监测系统设计与实现

本系统以 STM32F103C8T6 单片机为核心,集成温湿度监测、烟雾检测、气体泄漏报警、人体移动监测等功能模块,通过 OLED 显示屏实时显示数据,并支持 Wi-Fi 远程传输。系统可对实验室异常环境参数(如高温、烟雾、燃气泄漏)及非法入侵实时报警,保障实验室安全。本文从硬件选型、电路设计到软件实现提供了完整的实验室安全监测系统方案,可根据实际需求调整传感器类型和通信方式,适用于科研、教学等场景的环境安全防护。:可增加继电器模块控制通风设备或切断电源,集成 ZigBee 组网实现多实验室联动监测。

weixin_42300449的博客 1285

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Qt的.pro文件中宏的作用

DESTDIR宏是Qt中一个非常有用的宏,它允许开发者灵活地控制生成文件的输出目录。通过正确设置DESTDIR的值,可以确保生成的文件被放置在期望的位置,从而简化项目的构建和部署过程。CONFIG宏在Qt项目中扮演着关键角色,通过合理设置CONFIG宏,可以灵活地控制项目的编译、链接和运行时行为,满足不同开发和部署需求。SOURCES宏是Qt项目中非常重要的一个宏,通过合理使用SOURCES宏,可以精确控制项目的编译过程,确保只有必要的文件被编译,从而提高编译效率和项目的可管理性。HEADERS。

weixin_45144862的博客 1593

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Qt在linux环境下调用动态库,pro工程文件加载库和QLibrary加载库两种方式

加载库 INCLUDEPATH += 库的头文件路径 LIBS += -L PATH -lLIB,PATH是so库所在路径,LIB是库的名字(-L是库路径,-l是库名字,例如库文件是libReceiptPrint.so,后面应添加-lReceiptPrint) collect2:ld returned 1 exit status解决方案:没有正确加载库,检测库路径,32位还是64位,库是debug版还是release版 INCLUDEPATH += /home/chw/HSCompany/HardWareT

weixin_40355471的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

QT中PRO文件写法的详细介绍,很有用,很重要!

在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。B> lib - 建立一个库的makefile。C> vcapp - 建立一个应用程序的VisualStudio项目文件。D> vclib

adriano119的专栏 10万+
上一篇: QT库学习之QAppliction no such file or dictionary之解决办法
下一篇: C++之枚举类型的作用
伟go
博客等级 码龄14年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值