将文件复制到输出目录QT
我目前正在努力获取项目的子文件夹以复制到out目录。我原以为我把一切都安排好了,但我想我错过了一步。当我运行make时,会收到一条“无规则生成目标‘copyfiles’”消息 我知道我可以用特定于操作系统的方法进行新的构建步骤,但我希望避免它,因为我希望最终在不同的操作系统上构建和运行 编辑: 是的,这个问题以前有人问过。然而,这些问题中给出的解决方案对我来说并不奏效。他们会犯错误或者什么都不做将文件复制到输出目录QT,qt,qt5,Qt,Qt5,我目前正在努力获取项目的子文件夹以复制到out目录。我原以为我把一切都安排好了,但我想我错过了一步。当我运行make时,会收到一条“无规则生成目标‘copyfiles’”消息 我知道我可以用特定于操作系统的方法进行新的构建步骤,但我希望避免它,因为我希望最终在不同的操作系统上构建和运行 编辑: 是的,这个问题以前有人问过。然而,这些问题中给出的解决方案对我来说并不奏效。他们会犯错误或者什么都不做 CONFIG(release, debug|release): DESTDIR = $$OUT_PW
CONFIG(release, debug|release): DESTDIR = $$OUT_PWD/release
CONFIG(debug, debug|release): DESTDIR = $$OUT_PWD/debug
copytarget.path = $$DESTDIR/etc
copytarget.files += $$files(etc/*)
## === os specific dir separator ===
win32 {
copytarget.files ~= s,/,\\,g
copytarget.path ~= s,/,\\,g
}
message("found files for copytarget: "$$copytarget.files)
message("found files destination: "$$copytarget.path)
## === copy compiler for makefile ===
DirSep = /
win32: DirSep = \\
for(f,copytarget.files) tmp += $$PWD$$DirSep$${f} ## make absolute paths
copycompiler.input = tmp
isEmpty(DESTDIR):DESTDIR=.
copycompiler.output = $$DESTDIR$$DirSep${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
copycompiler.commands = $(COPY_FILE) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
copycompiler.CONFIG = no_link no_clean
## other CONFIG options are: depends explicit_dependencies target_predeps
copycompiler.variable_out = QMAKE_DISTCLEAN
QMAKE_EXTRA_COMPILERS += copycompiler
## == makefile copy target ===
copyfiles.recurse_target = compiler_copycompiler_make_all
copyfiles.depends = $$copyfiles.recurse_target
copyfiles.CONFIG += recursive
MAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles ## copy files after source compilation
INSTALLS += copytarget
当我需要将文件复制到目标时,我使用它定义了一个复制函数。@eyllanesc的可能重复是的,这是同一个问题,但它是重复的,因为其他问题中选择的解决方案似乎对我不起作用。他们要么无法复制文件,要么只是抛出错误@Ross Rogers你的给了我一个“系统找不到指定的路径”。我的其他_文件被调用为:other_files+=etc/Server.ini,因此最后运行的命令是copy/y etc\Server.ini E:\H2\build-H2-Desktop\u Qt\u 5\u 10\u 0\MinGW\u 32bit-Debug\Server\debug@Pyromanci,我也不能用那个答案。我不得不将
QMAKE\u POST\u链接
行更改为QMAKE\u POST\u LINK+=$$QMAKE\u COPY$$quote($$FILE)$$quote($$DDIR)$$escape\u expand(\\n\\t\\n\\t)
我不记得有错误,但我也不得不处理它。那个编辑过的版本对我来说可以在Linux和Windows上运行。你也可以在原始答案下面看到评论。