Qt 将生成的exe文件自动复制到其它目录下

QT pro中加入文件拷贝方法_qt pro复制粘贴-CSDN博客

目标:

例如:在release模式下,exe文件生成于:

"G:\test\build\release\shakeSensor.exe"

此时,我希望在生成该exe文件时,

"G:\test\build\test\"

此目录下也可生成该exe文件


可以在.pro文件中执行复制文件命令

相关代码:

cpp 复制代码
CONFIG(debug, debug|release) {
    ROUTDIR = $$PWD/../build/debug
    TARGET = shakeSensor_d
} else {
    ROUTDIR = $$PWD/../build/release
    TARGET = shakeSensor
    DEFINES+= QT_NO_DEBUG_OUTPUT

    TargetEXE = $$ROUTDIR
    TargetEXE = $$replace(TargetEXE, /, \\)

    OutputDir = $$PWD/../build/test
    OutputDir = $$replace(OutputDir, /, \\)
    QMAKE_POST_LINK += copy /Y $$TargetEXE $$OutputDir
}

DESTDIR = $$ROUTDIR

可以看到

ROUTDIR = $$PWD/../build/release

DESTDIR = $$ROUTDIR

ROUTDIR为exe的输出目录,对应"G:\test\build\release\shakeSensor.exe"

TargetEXE = $$ROUTDIR

TargetEXE = $$replace(TargetEXE, /, \\)

OutputDir = $$PWD/../build/test

OutputDir = $$replace(OutputDir, /, \\)

QMAKE_POST_LINK += copy /Y TargetEXE OutputDir

这部分代码用于复制原始exe到 "G:\test\build\test\"

TargetEXE存储原始exe的路径

OutputDir存储希望得到的新exe的路径

最后:

QMAKE_POST_LINK += copy /Y TargetEXE OutputDir

这句代码实现:把TargetEXE复制到OutputDir目录下

相关推荐
love530love13 小时前
【笔记】AutoClaw NSIS 安装器卡死、进程杀不掉、目录删不了?我是这么解决的
人工智能·windows·笔记·agent
大模型码小白17 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
XUHUOJUN19 小时前
AKS 不是安装在 Windows Server 上,而是运行在 Windows Server 之上的 Azure 平台能力
windows·架构·k8s·azure local·azure stack
Wild_Pointer.20 小时前
高效工具实战指南:Procexp64进程资源管理器
c++·windows
这是柠檬君1 天前
Microsoft Activation Scripts(MAS)最新版!
windows·office
xinhuanjieyi1 天前
cargo在windows系统下编译成exe,用everything搜索路径
windows·everything
IT曙光1 天前
OpenClaw 安装与初始化指南windows
windows·openclaw
tinygone1 天前
在Windows上部署Unlimited-ocr并提供给大模型使用
人工智能·windows·经验分享
WangWei_CM1 天前
[原创][Windows C++]Winlogon 登录相关注册表值与 Notify 子键解析
windows
一路向北North1 天前
windows如何部署deepseek
windows