命令 make 无法识别生成文件的" [ "



我以前学过Makefile,但是当我今天输入命令"make"时,Makefile中出现了问题。

这是一段代码:

[ -d _build ] || mkdir _build

和错误:

'[' is not recognized as an internal or external command, operable program or batch file.

还有我的制作版本:

GNU Make 3.82.90
Built for i686-pc-mingw32

谁能告诉我如何解决它?

你的makefile是为Linux/Unix编写的,你在Windows下运行它。

在生成文件中,组成目标配方的命令是 用操作系统外壳的语言编写。在Windows下,外壳是cmd。 在Linux下,默认情况下它是bash。在其他Unix变体下,它是sh或 其他一些外壳。

[ -d _build ] || mkdir _build

bash和其他一些 Linux/Unix shell 的有效命令。不适用于cmd.几乎所有其他配方命令也是如此 生成文件。你刚刚遇到了第一个这样的问题。

您的生成文件在本机Windows下没有用。在Windows上,你有机会 在 Linux 虚拟机中或在 Windows 10 Subsystem for Linux 下运行它, 或者在Windows的类Unix环境中,如Cygwin或MSYS2。你可以 需要安装类 Linux/Unix 中 makefile 配方所需的工具 系统。

如果生成文件很简单,您可以考虑翻译无法识别的外壳 命令转换为cmd命令(如果可以(。

最新更新