如果问题已被提出,我很抱歉,经过一些研究后我找不到答案。我想自动将项目的.exe复制到文件夹中。
我正在使用Qt creator 5.0.1 MSCV2010,它总是提供两个输出:发布和调试。
例如,我希望/release/project.exe
位于/release/exec/project.exe
。
我看到我可以在.pro中复制像.dll这样的文件:
INSTALLS =
但它只适用于已存在的文件,或者在编译后生成.exe。我想我可以将其指定为:
projects settings->Build compilation->step Make : jom.exe in C:\path\to\project-release
但我不知道需要什么论点, 此致
答案 0 :(得分:1)
在Windows上,您可以使用DLLDESTDIR
变量来指定复制目标DLL或exe的位置。只需将其添加到.pro:
CONFIG(release, debug|release): DLLDESTDIR += $$PWD/../exec
在Linux上,您可以使用QMAKE_POST_LINK
变量,该变量包含在将TARGET链接在一起后执行的命令。所以它就像:
CONFIG(release, debug|release): QMAKE_POST_LINK += $$quote(cp project $$PWD/../exec)
此处project
是您TARGET = project
这些会将可执行二进制文件复制到比程序工作目录高一级的名为exec
的目录中。你可以拥有自己的任意路径。
答案 1 :(得分:0)
使用命令参数
添加自定义构建步骤for windows(假设您为发布版本执行此操作):
xcopy
Release\<target.exe> path\to\destination\file.exe /Y
%{buildDir}
答案 2 :(得分:0)
这应该有效。我找不到任何指向target_path的variable。所以我定义了它:
### to copy target file to build folder
CONFIG(debug, debug|release) {
TARGET_PATH = $$OUT_PWD/debug
}
CONFIG(release, debug|release) {
TARGET_PATH = $$OUT_PWD/release
}
win32: QMAKE_POST_LINK += copy /y "$$shell_path($$TARGET_PATH/app_name.exe)" "$$shell_path($$PWD/../build/)"
unix: QMAKE_POST_LINK += cp "$$shell_path($$TARGET_PATH/app_name)" "$$shell_path($$PWD/../build/)"