在mingw中,qmake copy_dir始终是错误的

时间:2015-09-17 15:39:44

标签: qt qmake

我想将一些qml复制到我的构建目录中 在.pro中,我添加:

copydata.commands = $(COPY_DIR) \"$$PWD/plugins\" \"$$DESTDIR/plugins\"

但是当我构建项目时,copydata是错误的。 错误消息是:

  

xcopy / s / q / y / i   “E:/ myproject的/ src目录/插件”   “E:/ myproject的/斌/调试/插件”   参数数量无效

但是,我将命令复制到cmd,没关系。

有谁知道错误是什么?

3 个答案:

答案 0 :(得分:4)

我明白了! 谢谢,macetw,你指明了方向。

正确的代码应该是:

copydata.commands = $(COPY_DIR) $$shell_path($$PWD/plugins) $$shell_path($$DESTDIR/plugins)

答案 1 :(得分:3)

Windows可能会被那些正斜杠混淆。在所有情况下都要尝试反斜杠。

答案 2 :(得分:1)

适用于Qt 4.8及更高版本的Linux和Windows的解决方案:

win32 {
    COPY_FROM_PATH=$$shell_path($$PWD/plugins)
    COPY_TO_PATH=$$shell_path($$DESTDIR/plugins)
}
else {
    COPY_FROM_PATH=$$PWD/plugins
    COPY_TO_PATH=$$DESTDIR/plugins
}

copydata.commands = $(COPY_DIR) $$COPY_FROM_PATH $$COPY_TO_PATH
first.depends = $(first) copydata

export(first.depends)
export(copydata.commands)

QMAKE_EXTRA_TARGETS += first copydata

有用的链接: