Qt 项目文件(.pro)概述

Qt 项目pro文件

  • 引言
  • 一、pro文件初探
  • 二、部分参数详解

引言

Qt工程项目由项目文件(.pro)进行管理。qmake使用文件中的信息生成Makefile,其中包含构建每个项目所需的所有命令。pro文件通常包含源文件和头文件的列表、常规配置信息以及任何特定于应用程序的详细信息,例如要链接的额外库的列表,或要使用的额外包含路径的列表。

帮助文档和参考链接:

  1. 在qtcreator中打开pro或者pri文档,然后按F1。或者选中某个函数 or 关键字按F1
  2. 官方网页qmake Manual: https://doc.qt.io/qt-5/qmake-manual.html
  3. Qt 项目工程pro文件 参数: https://blog.csdn.net/qq_44843531/article/details/132410372

一、pro文件初探

新建一个带MainWindow的默认工程,其pro文件如下: (删除了很多注释)

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = untitled
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
SOURCES += \
        main.cpp \
        mainwindow.cpp
HEADERS += \
        mainwindow.h
FORMS += \
        mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
  • 参数详解:
Option
Description
QT += core gui添加Qt的core和gui模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgetsQT主版本大于4,则添加widgets模块
TARGET = untitled目标文件名称是untitled
TEMPLATE = app应用程序
DEFINES += QT_DEPRECATED_WARNINGS当Qt的某些功能被标记为过时的,那么编译器会发出警告
CONFIG += c++11已启用对C++11的支持。如果编译器不支持C++11,或者无法选择C++标准,则此选项无效。默认情况下,支持处于启用状态。
SOURCES += main.cpp添加源文件
HEADERS += mainwindow.h添加头文件
FORMS += mainwindow.ui添加界面ui文件

二、部分参数详解

  • TEMPLATE:指定生成项目时要使用的模板的名称。
Option
Description
app为构建应用程序创建Makefile(默认设置)
lib创建用于构建库的Makefile
subdirs在子目录(管理多个子工程)中创建用于构建目标的Makefile。子目录使用SUBDIRS变量指定。
aux创建不生成任何内容的Makefile
vcapp仅限Windows。为Visual Studio创建应用程序项目
vclib仅限Windows。为Visual Studio创建库项目
  • DEFINES: qmake将此变量的值添加为编译器预处理器宏(-D选项),类似代码中的#define

更多信息可参考Qt 帮助文档中的QtGlobal -> Macro

在这里插入图片描述

  • CONFIG:指定项目配置和编译器选项。这些值由qmake内部识别,并具有特殊意义。
Option
Description
release该项目将以发布模式构建。如果还指定了调试,则最后一个配置的项将生效
debug该项目将在调试模式下生成
orderedtemplate = subdirs,此选项表示按给定的顺序编译列出的子项目,可以多层嵌套。
warn_off编译器应尽可能少地输出警告。
c++11已启用对C++11的支持。如果编译器不支持C++11,或者无法选择C++标准,则此选项无效。默认情况下,支持处于启用状态。
c++14已启用C++14支持。如果编译器不支持C++14,或者无法选择C++标准,则此选项无效。默认情况下,使用编译器默认值。
  • 更多参数以及变量值的含义可参考:官方手册中的qmake Manual - Variables
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ST-GCN模型详解(+openpose)

ST-GCN模型详解(openpose) 一、什么是ST-GCN呢 基于骨架的动作识别(Skeleton-Based Action Recognition)主要任务是从一系列时间连续的骨骼关键点(2D/3D)中识别出正在执行的动作。因为牵涉到骨骼框架这种…

CentOS7升级openssl

文章目录 一 系统环境二 操作步骤三 版本检查 一 系统环境 公司服务器等保要求,修复openssl的高危漏洞。 本机使用centos7.9系统,openssl版本是1.0.2k,计划升级到1.1.1q 在执行下列操作前,务必要打快照做好备份,以防升…

030——从GUI->Client->Server->driver实现对红外遥控的控制

目录 1、 解决韦东山老师irda模块中断申请失败的bug 2、 client添加处理程序 3、 添加服务器处理程序和驱动处理句柄 4、 处理数据读出不准确问题 5、 修改后的展示 1、 解决韦东山老师irda模块中断申请失败的bug irda需要通过中断来触发读操作,申请中断需要引…

Octopus v2:斯坦福的嵌入设备专用大模型

斯坦福大学推出了 Octopus v2,这是一种突破性的设备上语言模型,旨在解决与现有模型相关的延迟、准确性和隐私问题。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑…

源码篇--Nacos服务--中章(1):Nacos服务端的启动

文章目录 前言一、Nacos Console 启动入口:二、启动过程:2.1 容器启动监听器:2.1.1 调整启动标识为正在启动状态:2.1.2 环境准备阶段:2.1.3 容器环境准备:2.1.4 自定义的环境变量 设置:2.1.5 服…

Spectre-v2 以及 Linux Retpoline技术简介

文章目录 前言一、Executive Summary1.1 Spectre-v2: Branch Predictor Poisoning1.2 Mitigating Spectre-v2 with Retpolines1.3 Retpoline Concept 二、BackgroundExploit Composition 三、(Un-)Directing Speculative Execution四、Construction (x86)4.1 Speculation Barri…

测试人员通常遇到的“坑”

网上看到一个帖子,从事多年的测试从业者,吐槽测试过程中遇到的“坑”,感觉比较有意思,我在工作当中也遇到通常的问题,看得出这位网友比较喜欢总结,帖子地址奉上,有兴趣的可以浏览一下&#xff1…

bug(警告):[vue-router] Duplicate named routes definition: …

查看警告:[vue-router] Duplicate named routes definition——翻译[vue-router]重复命名路由定义 小编劝诫:当我们在开发过程中警告也一定不要忽略,虽然你在本地跑代码时这些警告影响项目的正常运行,但是会让你产生误区&#xff…

大模型日报|今日必读的8篇大模型论文

大家好,今日必读的大模型论文来啦! 1.EdgeFusion:端侧文本到图像生成,只需不到一秒 用于文本到图像生成的稳定扩散(SD)技术需要大量计算,这对其实际应用构成了重大障碍。为此,最近…

Oracle進階SQLDay03

一、函數進階復習 1、行轉列 select 用水儿量(噸) 统计项, sum(case when t_account.month01 then USENUM end) 一月, sum(case when t_account.month02 then USENUM end) 二月, sum(case when t_account.month03 then USENUM end) 三月, sum(case when …

STM32学习和实践笔记(15):STM32中断系统

中断概念 CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂 时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序 或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序 继…

飞桨Ai(二)paddle使用CPU版本可以正常识别,切换为GPU版本时无法识别结果

一、问题描述: 刚开始用paddle的CPU版本,对训练好的模型进行推理,正常识别出想要的结果后来尝试使用paddle的GPU版本,然后发现识别出来是空的 二、系统思路: 最终系统环境如下: 系统:win10 …

有哪些公认好用且免费的云渲染网渲平台?渲染100邀请码1a12

现在云渲染是越来越火了,无论是在建筑设计、影视动画还是效果图行业都有它的身影,云渲染能缩短制作周期,提高工作效率,那么市面上有哪些公认好用且免费的云渲染平台呢?这次我们来了解下。 首先,我们来看看有…

vulfocus靶场tomcat-cve_2017_12615 文件上传

7.0.0-7.0.81 影响版本 Windows上的Apache Tomcat如果开启PUT方法(默认关闭),则存在此漏洞,攻击者可以利用该漏洞上传JSP文件,从而导致远程代码执行。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多…

「GO基础」在Windows上配置VS Code GO语言开发环境

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

查看linux的主机配置脚本

废话不说 直接上指令 curl -Lso- bench.sh | bash 等待后,结果如图: 使用后没有问题,看情况使用 出事概不负责 介意勿用!!!

LD-Pruner、EdgeFusion(On-Device T2I)、FreeDiff、TextCenGen、MemLLM

本文首发于公众号:机器感知 https://mp.weixin.qq.com/s/KiyNfwYWU-wBiCO-hE9qkA 苏 The devil is in the object boundary: towards annotation-free instance segmentation using Foundation Models Foundation models, pre-trained on a large amount of data…

Windows系统下安装paddle

开始使用_飞桨-源于产业实践的开源深度学习平台 (paddlepaddle.org.cn) 命令行下: python -m pip install --upgrade pip --user python -m pip install paddlepaddle2.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple 报异常 ERROR: Could not install packa…

Jmeter 测试Dubbo接口-实例

1、Dubbo插件准备 ①把jmeter-plugins-dubbo-2.7.4.1-jar-with-dependencies.jar包放在D:\apache-jmeter-5.5\lib\ext目录 ②重新打开Jmeter客户端 在线程组-添加-取样器-dubbo simple,添加dubbo接口请求 2、Jmeter测试lottery接口 ①配置zookeeper参数 由于dub…

windows和虚拟机互传文件

在虚拟机中设置共享文件夹 操作方法:打开VMware–>虚拟机–>设置–>选项–>共享文件夹(见下图),大家在共享文件夹当中就可以把Windows当中的D盘或者其它盘共享到虚拟机中。比如我就是将D盘和E盘共享到了虚拟机中。 共…