Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt xcopy没有';在makefile中不工作_Qt_Makefile_Qmake_Xcopy - Fatal编程技术网

Qt xcopy没有';在makefile中不工作

Qt xcopy没有';在makefile中不工作,qt,makefile,qmake,xcopy,Qt,Makefile,Qmake,Xcopy,在尝试构建我在64位Windows 7安装上下载的项目时,我遇到了错误[copyResources]错误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在达到此目标时失败,错误为参数数无效。我最初假设一

在尝试构建我在64位Windows 7安装上下载的项目时,我遇到了错误
[copyResources]错误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在达到此目标时失败,错误为
参数数无效
。我最初假设一个格式不正确的命令,但如果在命令提示符下运行它,它可以正常工作。更奇怪的是,如果我将确切的命令复制并粘贴到
xcopycall.bat
中,并将Makefile更改为

copyResources:
    xcopycall

然后一切正常。切换到
/
没有帮助,因此这似乎不是一个逃避问题。为什么从批处理文件而不是在生成文件中运行它可以解决这个问题?

jturcotte和lixiang说的是对的,在我的例子中,
sh.exe
在dir
C:\Program Files\Git\usr\bin
中,但是从
路径
中删除dir是不需要的,所以我在“GraphViz.pro”中注释了关于
xcopy
的行。它并不优雅,但很有效:P

尝试使用“\”而不是单引号-呃,我只是仔细看了一下,没有空格,所以实际上应该很好W32 make有一个讨厌的习惯,就是通过sh而不是cmd运行命令,如果它能在路径中找到sh.exe的话。确保您没有使用cygwin或git添加它(如果您选择在安装过程中添加到PATH的完整unix实用程序文件夹)。@jturcotte的注释就是答案。只需添加我从#qt IRC获得的一点。在windows上的CMD中使用“where sh”查找sh.exe的位置