【发布时间】:2014-12-18 17:28:26
【问题描述】:
在尝试构建在 64 位 Windows 7 安装上下载的项目时,我遇到了错误 [copyResources] Error 4。在 Qt 生成的 Makefile 中,它包含以下两行:
copyResources:
xcopy "D:\Downloads\GraphViz\GraphViz\res" "D:\Downloads\GraphViz\build-GraphViz-Desktop_Qt_5_3_MinGW_32bit-Debug" /e /y
当它达到这个目标时,make 失败,错误为Invalid number of parameters。我最初假设一个格式错误的命令,但如果我在命令提示符下运行它,它工作正常。更奇怪的是,如果我将确切的命令复制并粘贴到 xcopycall.bat 并将 Makefile 更改为以下内容
copyResources:
xcopycall
然后一切正常。切换到/ 没有帮助,所以它似乎不是一个逃避问题。为什么从批处理文件而不是在 Makefile 中运行它可以解决这个问题?
【问题讨论】:
-
尝试使用“\”而不是单引号 - 错误,我只是仔细看了一下,没有空格,所以实际上应该没问题
-
mingw32-make 有通过 sh 而不是 cmd 运行命令的讨厌习惯,如果它可以在 PATH 中找到 sh.exe。确保您没有通过 cygwin 或 git 添加它(如果您选择在安装期间将完整的 unix 实用程序文件夹添加到 PATH)。
-
@jturcotte 的评论就是答案。只需添加我从#qt IRC 获得的一点。在 windows 的 CMD 中使用 "where sh" 来查找 sh.exe 的位置