qmake命令将文件和文件夹复制到输出目录中

Sur*_*ine 8 windows qt qmake xcopy

我正在开发一个应该使用QtCreator和Qt 5.3在Windows,Linux和OS X上构建的应用程序.我想将文件夹中的所有文件和子文件夹复制到输出文件夹中.我已经将它用于Linux和OS X,但不适用于Windows.这是我的.pro文件的相关部分:

win32 {
    PWD_WIN = $${PWD}
    DESTDIR_WIN = $${OUT_PWD}
    copyfiles.commands = $$quote(cmd /c xcopy /S /I $${PWD_WIN}\copy_to_output $${DESTDIR_WIN})
}
macx {
    copyfiles.commands = cp -r $$PWD/copy_to_output/* $$OUT_PWD
}
linux {
    copyfiles.commands = cp -r $$PWD/copy_to_output/* $$OUT_PWD
}
QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles
Run Code Online (Sandbox Code Playgroud)

我在Windows上遇到的错误是"参数数量无效".

Mur*_*ker 10

如果你查看$${PWD}变量message($${PWD}),你会看到/目录分隔符,即使在Windows中也是如此.您必须将其转换为本机目录分隔符:

PWD_WIN = $${PWD}
DESTDIR_WIN = $${OUT_PWD}
PWD_WIN ~= s,/,\\,g
DESTDIR_WIN ~= s,/,\\,g

copyfiles.commands = $$quote(cmd /c xcopy /S /I $${PWD_WIN}\\copy_to_output $${DESTDIR_WIN})

QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles
Run Code Online (Sandbox Code Playgroud)