Qt如何编写生成后事件

embedded/2024/9/18 12:07:10/ 标签: qt, 开发语言, 生成后事件

我们都知道VS能编写生成后事件,用于指定程序编译之后执行某些命令行,常见的如文件的拷贝、清理等等;那么,Qt能否支持支持在 .pro 文件中指定生成后事件呢,答案是肯定的。
下面是给出的一个简洁的例子:


DESTDIR     = D:/APP_QT/bin/GuiLib/Access/lib      # 指定编译最终文件的生成路径
win32 {QMAKE_TARGET_ARCH = x64
} else {QMAKE_TARGET_ARCH = x86_64
}# 区分release和debug版本,debug文件后缀自动添加d
CONFIG(release, debug|release) {# release版本DESTDIR = $${DESTDIR}/$${QMAKE_TARGET_ARCH}/releaseTARGET = $${TARGET}
} else {# debug版本DESTDIR = $${DESTDIR}/$${QMAKE_TARGET_ARCH}/debugTARGET = $${TARGET}d
}# 注意路径格式要进行转换,否则执行copy指令会报错
win32: PWD = $$replace(PWD, "/", "\\")
win32:DESTDIR =$$replace(DESTDIR, "/", "\\")
POST_DIR_INCLUDE = D:\\APP_QT\\bin\\GuiLib\\Access\\include
POST_DIR_LIB = D:\\APP\\bin# 创建目标拷贝路径,避免因为路径不存在导致的copy指令错误
# 拷贝文件到目标路径 /Y : 默认执行覆盖
QMAKE_POST_LINK += mkdir $${POST_DIR_INCLUDE} | mkdir $${POST_DIR_LIB} | copy $${PWD}\*.h  $${POST_DIR_INCLUDE} /Y | copy $${DESTDIR}\* $${POST_DIR_LIB} /Y

以上,笔者有一个Qt .pro 管理的lib项目,在编译生成lib库之后,需要将头文件和生成的库文件拷贝到指定目录下。实测Ok,供参考~


http://www.ppmy.cn/embedded/11669.html

相关文章

CentOS-Stream-9升级openssh9.7p

CentOS Stream 9 ssh -V需要的RPM包 openssh-9.7p1-1.el9.x86_64.rpm openssh-clients-9.7p1-1.el9.x86_64.rpm openssh-server-9.7p1-1.el9.x86_64.rpm 编译openssh openssh官方只提供源码包,我们选择自己将源码编译为rpm包来升级环境的openssh,需要…

实现Spring底层机制(三)

文章目录 阶段4—实现BeanPostProcessor机制1.文件目录2.初始化方法实现1.编写初始化接口InitializingBean.java2.MonsterService.java实现初始化接口3.容器中的createBean方法增加初始化逻辑,判断对象类型是否是InitializingBean的子类型,如果是&#x…

无人机发展历史

你知道吗?无人机竟然已经有这么多年的历史了!从最初的军事用途,到现在的民用、商用领域,无人机的发展简直是一部传奇! 🚀 遥想当年,无人机还只是军事领域的专属玩具,高不可攀。但如…

第二十七章:mybatis plus 如何自定义 SQL 查询条件

第二十七章:mybatis plus 如何自定义 SQL 查询条件 目标 掌握 mybatis plus 自定义查询SQL条件的方式理解如何基于mybatis plus自动 生成的代码扩展多表级联查询的扩展方法实验 1、准备两张表 CREATE TABLE `student` (`id` int(20) NOT NULL AUTO_INCREMENT,`name` varcha…

总结:css中水平居中

css水平居中功能很常用,但一直没有系统的总结过,今天来总结水平下常见的方式: 1. 文本或内联元素的居中: 使用 text-align: center; 属性可以让内部的文本和内联元素在容器中水平居中。 .container {text-align: center; }2. 块…

十大排序——6.插入排序

这篇文章我们来介绍一下插入排序 目录 1.介绍 2.代码实现 3.总结与思考 1.介绍 插入排序的要点如下所示: 首先将数组分为两部分[ 0 ... low-1 ],[ low ... arr.length-1 ],然后,我们假设左边[ 0 ... low-1 ]是已排好序的部分…

【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等

往期回顾 【QT进阶】Qt Web混合编程之QWebEngineView基本用法-CSDN博客 【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView(图文并茂超详细版本)-CSDN博客【QT进阶】Qt Web混合编程之html、 js的简单交互-CSDN博客 【QT进阶】Qt Web混合编程之使…

Error Code 12 Msg: Unable to find uri[model://ground_plane]

ubuntu16.04 安装turtlebot3仿真,运行之后发现报这个错误,然后没有小车 解决方案: https://blog.csdn.net/Moony_9/article/details/137553518

自己手动在Linux上实现一个简易的端口扫描器

背景 常常听到网络攻击有一个东西叫做端口扫描器,可以扫描指定服务器开放的端口,然后尝试连接,并寻找漏洞,最终攻破服务器。而那些使用的端口扫描器都是一个个现成的程序,看上去很厉害的样子。而实际上这些东西对于懂…

软件项目经理需要具备这 11 个能力

当前软件开发技术更新换代越来越快,各种项目实施管理思想也日新月异,作为一个软件项目经理,需要具备这 11 种能力: 1. 项目管理能力 了解项目管理的基本原则和方法,包括制定项目计划、资源分配、风险管理、问题解决和…

数学:函数自学笔记

目录 一次函数 二次函数 三次函数 对数函数 指数函数 一次函数 一次函数是指函数的最高次幂为1的函数,也被称为线性函数。一次函数的一般形式为y ax b,其中a和b为常数,且a不等于0。一次函数的图像是一条直线,其斜率为a&…

把自己的愿望强加于人,是多么的无礼,即使那个人是我自己

在心理学领域,自爱被视为个人成长和心理健康的基石。当我们开始真正地爱护自己,我们才能理解,尊重他人和自己的边界是多么重要。本篇博客将探讨自爱的概念、重要性以及如何培养自爱的习惯。 自爱的定义与重要性 自爱,或称自我关…

Midjourney-01 初试上手 注册使用并生成你的第一张AI图片 详细流程 提示词 过程截图 生成结果 付费文生图的天花板!

背景介绍 Midjourney是一款基于人工智能技术的绘画软件,利用深度学习算法来辅助用户进行绘画创作。这款软件能够通过用户输入的文本描述生成图像,支持多种生成方式,包括文字生成图片、图片生成图片和混合图片生成图片。 图像生成方式&#…

Acrobat Pro DC 2021:强大的PDF编辑软件

Acrobat Pro DC 2021是Adobe公司推出的一款全面而强大的PDF编辑软件,凭借其卓越的性能和丰富的功能,成为了PDF编辑领域的领军者。 Acrobat Pro DC 2021中文激活版下载 这款软件具备全面的PDF编辑功能,包括文本编辑、图片处理、页面组织等&…

爬虫机试题-爬取新闻网站

之前投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求,感觉挺有意思就写了这篇文章,感兴趣的朋友可以看看。 拿到urllist 通过分析页面结构我们得以知道,这个页面本身没有新闻信息,是…

二叉树oj题(2)

1.二叉树的最近公共祖先 解题思路:方法一: 1.先判断p或者q 是不是 root当中的一个 2.左子树当中递归査找p或者q 3.右子树当中递归查找p或者q 如何查找: root 的 left 和 right 都不为空 ->root root的 left 为空 right 不为空->right这一侧找…

深度学习网络训练,Loss出现Nan的解决办法

文章目录 前言 一、原因 二、典型实例 1. 梯度爆炸 2. 不当的损失函数 3. 不当的输入 前言 模型的训练不是单纯的调参,重要的是能针对出现的各种问题提出正确的解决方案。本文就训练网络loss出现Nan的原因做了具体分析,并给出了详细的解决方案&#xff…

淘宝客链接转换接口阿里妈妈佣金转换:功能、使用与优缺点详解

淘宝客链接转换接口详解 随着互联网的发展,电子商务行业日益繁荣,淘宝作为国内最大的电商平台之一,其链接转换接口也受到了广泛关注。淘宝客链接转换接口是一种将淘宝商品链接转换成特定形式的短链接或推广链接的工具,方便用户进…

(2024)Visual Studio的介绍、安装与使用

Visual Studio介绍 1.Visual Studio是什么? Visual Studio是微软公司推出的一款开发工具包系列产品,它是一个基本完整的开发工具集,为软件开发者提供了整个软件生命周期中所需的大部分工具。 2.Visual Studio的定义 Visual Studio是美国微软公…

Facebook的区块链应用深度分析

去中心化身份验证的意义 在当今数字化社会中,身份验证的重要性不言而喻。对于Facebook这样的大型社交媒体平台来说,确保用户的身份真实性和数据的安全性是至关重要的。传统的中心化身份验证方式存在一定的安全风险和可信性问题,而去中心化身…