我很抱歉,如果这个问题已经问过了,但经过一些研究,我找不到答案。我想把项目的。exe文件自动复制到文件夹中。
我使用Qt creator 5.0.1 MSCV2010,它总是有两个输出:发布和调试。
例如,我希望/release/project.exe
在/release/exec/project.exe
中。
我看到我可以复制像。dll这样的文件在。pro中使用:
INSTALLS =
但是它只对已经存在的文件起作用,或者编译后生成。exe。我想我可以将其指定为:
projects settings->Build compilation->step Make : jom.exe in C:pathtoproject-release
但我不知道需要什么论据,关于
在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
的目录,该目录比程序工作目录高一级。
使用命令和参数添加自定义构建步骤
对于Windows(假设您在发布版本中这样做):
xcopy
Release<target.exe> pathtodestinationfile.exe /Y
%{buildDir}
应该可以。我找不到任何指向target_path的变量。所以我定义它:
### 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/)"