我以前学过Makefile,但今天我输入命令"make“时,Makefile中出现了一个问题。
下面是这段代码:
[ -d _build ] || mkdir _build以及错误:
'[' is not recognized as an internal or external command, operable program or batch file.下面是我的Make版本:
GNU Make 3.82.90
Built for i686-pc-mingw32有人能告诉我怎么修吗?
发布于 2018-08-23 17:55:14
您的makefile是为Linux/Unix编写的,并且您正在Windows下运行它。
在makefile中,组成目标配方的命令是用OS shell的语言编写的。在Windows下,外壳是cmd。在Linux下,缺省情况下是bash。在其他Unix变体中,它是sh或其他shell。
[ -d _build ] || mkdir _build是bash和其他一些Linux/Unix shell的有效命令。不是给cmd的。makefile中的几乎所有其他配方命令都是如此。您刚刚遇到了第一个这样的问题。
你的makefile在原生Windows下是没有用处的。在Windows上,你有机会在Linux虚拟机上运行它,或者在Linux的windows10子系统下运行,或者在类Unix的环境下运行,比如Cygwin或MSYS2。您可能需要在类似Linux/Unix的系统中安装makefile配方所需的工具。
如果makefile很简单,您可以考虑将无法识别的shell命令转换为cmd命令。
https://stackoverflow.com/questions/51982322
复制相似问题