Qt如何编写生成后事件

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

下面是给出的一个简洁的例子:

cpp 复制代码
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}/release
    TARGET = $${TARGET}
} else {
    # debug版本
    DESTDIR = $${DESTDIR}/$${QMAKE_TARGET_ARCH}/debug
    TARGET = $${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,供参考~

相关推荐
江塘几秒前
机器学习-KNN算法实战及模型评估可视化(C++/Python实现)
开发语言·c++·人工智能·python·算法·机器学习
KL41802 分钟前
【QT】窗口
c++·qt
钟离墨笺13 分钟前
Go语言-->Goroutine 详细解释
开发语言·后端·golang
Dontla14 分钟前
JS睡眠函数(JS sleep()函数、JS单线程、Event Loop事件循环)假睡眠
开发语言·javascript·ecmascript
李游Leo21 分钟前
Rokid UXR3.0 手势算法与接入实践(v3.0.3)—设备适配、能力边界与示例代码
开发语言
艾莉丝努力练剑1 小时前
【C++:继承和多态】多态加餐:面试常考——多态的常见问题11问
开发语言·c++·人工智能·面试·继承·c++进阶
Skrrapper1 小时前
【C++】C++11出来之后,到目前为止官方都做了些什么更新?
开发语言·c++
有时间要学习1 小时前
Qt——界面优化
开发语言·qt
sulikey1 小时前
Qt 入门简洁笔记:常用控件
c++·qt·控件·qwidget·qlabel·qpushbutton·qlineedit
摘星编程1 小时前
深入 Actix-web 源码:解密 Rust Web 框架的高性能内核
开发语言·前端·rust·actixweb