我正在为一个项目使用 Qt 5.5,并尝试使用安装功能将文件复制到构建目录中。我在我的 .pro 中有(这是我用来尝试找出问题的简化版本):
copy_files.path = $${OUT_PWD}/debug
copy_files.files = win32_libs/*
INSTALLS += copy_files
我在构建配置中的“make”之后有一个额外的步骤,即调试和发布的“Make install”(从“Make”下拉项中选择)。在 clean -> run qmake -> build 之后,Qt 绝对拒绝将“win32_libs”中的任何文件复制到调试构建目录中。
如果我只指定“win32_libs”而不是“win32_libs/*”,它会复制目录(没有帮助),事实证明它会复制任何目录,但不会复制文件,除非它们包含在目录中(同样,没有帮助)。
那么我怎样才能说服它只复制文件呢?
最佳答案
在遇到类似的问题但无法直接解决后,我决定对 Windows 目标进行变通,例如:
# post build copy dependencies
win32 {
# all the necessary files listed relative to the root project directory
OTHER_FILES += stuff\myfile1 stuff\myfile2
OTHER_FILES += stuff\myfile3 stuff\myfile4
DESTDIR_WIN = $$DESTDIR
DESTDIR_WIN ~= s,/,\\,g
# debug pro file statement
message(Destination WINDOWS $$DESTDIR_WIN)
PWD_WIN = $${PWD}
PWD_WIN ~= s,/,\\,g
for(FILE, OTHER_FILES){
QMAKE_POST_LINK += xcopy /d/y $${PWD_WIN}\\$${FILE} $${DESTDIR_WIN}$$escape_expand(\\n\\t)
}
}
并且 xcopy 命令提供了参数以避免实际不必要的复制。
关于c++ - Qt安装不会复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35708052/