使用Qt编译项目后,将一些文件复制到生成目录

使用Qt编译项目后,将一些文件复制到生成目录,qt,qt4,Qt,Qt4,按此处所述完成:但make告诉我: make:“安装”无需执行任何操作 并且没有复制到build dir。Pro文件包含以下行: wav_files.path = %{buildDir} wav_files.files += %{sourceDir}/hurray.wav INSTALLS += wav_files 以下是我用于复制其他运行时文件以生成路径和安装目标的内容: 在这里定义您的文件 ## === define copy files for installation and bui

按此处所述完成:但make告诉我:

make:“安装”无需执行任何操作

并且没有复制到build dir。Pro文件包含以下行:

wav_files.path = %{buildDir}
wav_files.files += %{sourceDir}/hurray.wav

INSTALLS += wav_files

以下是我用于复制其他运行时文件以生成路径和安装目标的内容:

  • 在这里定义您的文件

    ## === define copy files for installation and build ===
    
    copytarget.path    = /path/to/installation
    copytarget.files  += $$files(example/filename*)
    ## wildcard for filename1 filename2 filename3 ...
    
    message("found files for copytarget: "$$copytarget.files)
    
  • 必须添加qmake编译器:

    ## === os specific dir separator ===
    
    win32: copytarget.files ~= s,/,\\,g
    
    
    ## === 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目标:

    ## == makefile copy target ===
    copyfiles.recurse_target = compiler_copycompiler_make_all
    copyfiles.depends        = $$copyfiles.recurse_target
    copyfiles.CONFIG        += recursive
    
  • 在源生成步骤后追加目标:

    QMAKE_EXTRA_TARGETS += copyfiles
    POST_TARGETDEPS     += copyfiles ## copy files after source compilation
    
  • 包含运行时文件以安装目标

    INSTALLS += copytarget
    

  • 感谢您的回答,我们将在有能力时进行检查。您好,您如何调整此解决方案以复制目标生成的文件?例如,假设我想在构建库目标后复制它的dll文件。