Cygwin bash.exe 无法运行 make,但可以在 cmd.exe 中运行

标签 c bash cmd makefile cygwin

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

“‘ygdrive’未被识别为内部或外部命令、可操作程序或批处理文件”

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

谢谢埃里克·E

最佳答案

看起来您正在使用 \cygdrive\<letter>\... 引用某些配方中的路径。 bash将单个反斜杠解释为转义字符,因此忽略 c直接跟随它。

解决方案:

  1. 如果您想要Makefile要移植到 Unix 系统,只需在类似 /cygdrive/<letter>/... 的路径中写入正斜杠即可.

  2. 如果您想要 Makefilecmd兼容也可以使用双反斜杠,例如 \\cygdrive\\<letter\\... -- 两者 bashcmd就会明白这一点。

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

关于Cygwin bash.exe 无法运行 make,但可以在 cmd.exe 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623050/

相关文章:

C程序: Segmentation Fault

bash - 使用shell脚本登录监控并发送邮件

windows - 如何更换!优雅地分批处理到 %21?

c - 解密 (*(void(*)())0)()

c - pthread_create 并传递一个整数作为最后一个参数

c - 在函数中使用 scanf 输入更新数组元素(使用指针访问)

bash - 在 shell 脚本中获取 2 个数组中的公共(public)值

bash - 从 Dockerfile 删除注释创建 bash 脚本

powershell - 监视文件的更改并使用 powershell 运行命令

PHP UTF-8 转 Windows 命令行编码