使用 Qt 将文件复制到构建目录

Posted

技术标签:

【中文标题】使用 Qt 将文件复制到构建目录【英文标题】:Copy a file to build directory with Qt 【发布时间】:2020-10-26 16:18:33 【问题描述】:

我想将文件复制到目标文件夹。 我试过这段代码:

OTHER_FILES += \
    SetupTool.ini

    DESTDIR_WIN = $$DESTDIR
    DESTDIR_WIN ~= s,/,\\,g
    PWD_WIN = $$PWD
    PWD_WIN ~= s,/,\\,g
    for(FILE, OTHER_FILES)
        QMAKE_POST_LINK += $$quote(cmd /c copy /y $$PWD_WIN\\$$FILE $$DESTDIR_WIN$$escape_expand(\\n\\t))
    

但它不起作用。

【问题讨论】:

我添加了 Qt-Creator 标签,因为 Qt 是框架而不是 ide。我什至不确定是否需要 Qt,因为 .pro 文件的显示部分与框架完全无关。 【参考方案1】:

这就是我过去的做法:

    copyCommand = @echo Copying application data...
    copyCommand += && $(COPY) \"$$PWD/some_file.ext\" \"$$OUT_PWD\"

    copyTarget.commands = $$copyCommand
    first.depends = $(first) copyTarget

    QMAKE_EXTRA_TARGETS += first copyTarget

【讨论】:

我已经通过将 QMAKE_POST_LINK 设置为要运行的命令来完成它。我在 Visual Studio 中需要它,我似乎记得额外的目标方法在 VS 中不起作用。

以上是关于使用 Qt 将文件复制到构建目录的主要内容,如果未能解决你的问题,请参考以下文章

发布构建脚本以将所有文件从不同的目录复制到输出目录

预构建事件:使用 XCopy 将文件夹及其子文件夹和文件复制到构建目录中

使用 CMake 将 Qt DLL 复制到 Windows 上的可执行目录

将整个目录复制到输出文件夹,维护文件夹结构?

使用 csproj dotnetcore 将文件复制到输出目录

VS2010 如何在项目中包含文件,在构建或发布过程中自动将它们复制到构建输出目录