我正在尝试使用GNUWin32 make在Windows 7上编译项目。我从Makefile所在的文件夹运行make,但是我收到以下错误:
[ ! -d libmf ] && mkdir -p libmf
"[" is not recognised as internal or external command, operable program or batch file
我想由于某种原因,cmd解释器不解析方括号,但是这种表示法在手册中有描述,而makefile来自供应商并且应该是正确的。我尝试使用不同的目标'make',错误的行更改文本(目标定义宏),但错误是相同的。 makefile中导致这种情况的地方如下所示:
libmf$(LIBSUFFIX):
[ ! -d $@ ] && mkdir -p $@
答案 0 :(得分:0)
找到解决方案。应该使用cygwin而不是gnuwin32,因为gnuwin32不包含所有必需的命令。一个奇怪的细节:cygwin实际上有'[。exe'程序来模拟bash括号解析。