在windows 7旗舰版下 使用gnu的make项目编译管理工具时,写了个Makefile文件,结果目标下面的dos命令都能执行,就是产生不了结果:
运行结果
makefile文件内容如下:
target1:target2 target3
md 11
target2:
md 22
target3:
rd 11
在当前目录中没有生成目录11 22,运行:make时没有错误。不知道怎么回事
在windows 7旗舰版下 使用gnu的make项目编译管理工具时,写了个Makefile文件,结果目标下面的dos命令都能执行,就是产生不了结果:
运行结果
在Linux和类Unix系统中,DOS命令是无法执行的。这些系统上的默认文本编辑器是vi或vim,如果你在编辑Makefile文件时尝试输入DOS命令,如dir、copy、mkdir等,这些命令会被保存为无效的文本,并且在运行Make命令时不会被执行。
如果你在Makefile文件中需要使用这些DOS命令,可以尝试使用Makefile中的规则来实现,或者在Makefile中引入shell脚本,以便在目标中执行这些DOS命令。在Makefile中定义规则时,可以用"$(shell command)"形式来执行命令,例如"$(shell dir)"可以执行DOS中的dir命令。此外,使用Makefile中的其他选项,如-n等,也可以帮助你调试和排查问题。在执行make命令前,请确保你的Makefile文件位于正确的目录下,并已正确定义了目标和依赖关系。
总之,如果你需要在Linux和类Unix系统中使用DOS命令,建议你使用Makefile中的规则或shell脚本来执行它们,而不是直接在Makefile文件中输入DOS命令。