0

我正在尝试使用 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 来自供应商并且应该是正确的。我尝试使用不同的目标“制作”,错误行中的文本发生了变化(目标在那里定义了宏),但错误是相同的。makefile 中导致此问题的位置如下所示:

libmf$(LIBSUFFIX):
                [ ! -d $@ ] && mkdir -p $@
4

1 回答 1

0

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

于 2016-01-29T19:41:58.847 回答