GnuWin32在方形braket上返回奇怪的错误

时间:2016-01-29 11:35:54

标签: windows cmd makefile gnuwin32

我正在尝试使用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 $@

1 个答案:

答案 0 :(得分:0)

找到解决方案。应该使用cygwin而不是gnuwin32,因为gnuwin32不包含所有必需的命令。一个奇怪的细节:cygwin实际上有'[。exe'程序来模拟bash括号解析。