Windows下Makefile移动文件时出现CreateProcess错误的原因及解决
Windows下Makefile使用move命令报错的原因及解决方法
错误原因
和权限无关,核心问题是:make在Windows环境下默认调用的是MinGW/MSYS这类类Unix shell,而move是cmd的内置命令,不是独立的可执行程序,类Unix shell无法识别这个命令,因此触发“找不到指定文件”的错误。
解决方法
强制通过cmd执行move命令,修改Makefile中的移动命令行:
cmd /c move source.o ..\bin\注:
cmd /c会启动cmd终端并执行后续命令,这样就能正常识别move内置命令。如果你的make环境自带类Unix工具链(比如MinGW),可以改用
mv命令,同时路径用正斜杠(Makefile中无需转义,兼容性更好):mv source.o ../bin/
额外提醒:Makefile中目标下的命令行必须用Tab键缩进,不能用空格,否则会触发其他语法错误。
内容的提问来源于stack exchange,提问作者R. F.
相关产品推荐
相关产品推荐

