Cygwin bash.exe 不能 运行 制作,在 cmd.exe 中工作

Cygwin bash.exe cannot run make, works in cmd.exe

我在 Cygwin bash 终端中 运行 使用任何 make 命令时遇到问题。以下是返回的错误。

"'ygdrive' 未识别为内部或外部命令、可运行程序或批处理文件"

但是我能够使用 cmd.exe 正确地 运行 make 文件,如有任何帮助,我们将不胜感激。

谢谢 Eric E

看起来您正在使用 \cygdrive\<letter>\... 引用某些食谱中的路径。 bash 将单个反斜杠解释为转义字符,因此忽略紧随其后的 c

解决方案:

  1. 如果你想让 Makefile 可以移植到 Unix 系统,只需在路径中写正斜杠这样 /cygdrive/<letter>/....

  2. 如果您希望 Makefile 也与 cmd 兼容,请使用像 \cygdrive\<letter\... 这样的双反斜杠 - bashcmd会明白这一点。

无论如何,这样的路径应该在 make 变量中,因为它在另一台机器上可能完全不同。

Felix 的上述解决方案可能是其他人的答案,但是我的问题的解决方案是从我的 Makefile 顶部删除 "SHELL=C:/Windows/System32/cmd.exe"..