我以前学习过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
有人可以告诉我如何解决吗?
答案 0 :(得分:3)
您的makefile是为Linux / Unix编写的,并且您正在Windows下运行它。
在makefile中,组成目标配方的命令是
用OS Shell语言编写。在Windows下,外壳为cmd
。
在Linux下,默认为bash
。在其他Unix变体中,它是sh
或
其他外壳。
[ -d _build ] || mkdir _build
是bash
和其他Linux / Unix shell的有效命令。不是为了
cmd
。几乎所有其他配方命令都适用
生成文件。您刚遇到第一个此类问题。
您的makefile在本机Windows下没有用。在Windows上,您有机会 在Linux虚拟机或Linux的Windows 10子系统下运行它的情况, 或适用于Windows的类Unix环境(例如Cygwin或MSYS2)。你可以 非常需要安装类似于Linux / Unix的makefile配方所需的工具 系统。
如果makefile很简单,则可以考虑翻译无法识别的shell
命令(如果可以的话)转换为cmd
命令。