Windows下使用MinGW编译C项目时make clean执行失败求助
解决MinGW下
make clean执行失败的问题 你的问题大概率出在clean目标里的rm命令上——在MinGW默认的Windows命令行(CMD)环境中,rm并不是系统内置命令,make执行这条命令时会找不到对应的程序,进而导致失败。下面给你两种可行的解决方案:
方案1:切换到MSYS终端执行命令
MinGW通常会附带一个MSYS终端(类Unix风格的命令行环境),这个环境里自带rm、ls等Unix常用工具。你只需要打开MSYS终端,切换到项目目录,再执行make clean就能正常工作了。
方案2:修改Makefile适配Windows CMD环境
如果你习惯用Windows原生CMD,把clean目标里的rm命令换成Windows自带的del命令即可,同时加上合适的参数确保删除顺利:
修改后的Makefile.mak的clean部分如下:
clean: @echo "clean project" -del /Q /F test.exe *.o @echo "clean completed" .PHONY: clean
参数说明:
/Q:安静模式,删除时不需要确认/F:强制删除只读文件- 命令前的
-:表示即使这条命令执行失败(比如文件本来就不存在),make也会继续执行后续命令,不会直接终止
另外再确认下你的Makefile里的缩进是Tab键而非空格(你make all成功,应该已经满足这个语法要求了)。
内容的提问来源于stack exchange,提问作者user20881
相关产品推荐
相关产品推荐

