我以前学过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
命令(如果可以(。