【问题标题】:Is make no longer included with MinGW and/or MSYS?是否不再包含在 MinGW 和/或 MSYS 中?
【发布时间】:2012-01-10 04:31:29
【问题描述】:

我在我的 Windows 7 计算机上安装了 MinGW 和 MSYS。我将C:\Program Files (x86)\MinGW\bin 添加到我的路径中。 gccg++ 等命令有效,但 make 无效。我查看了目录,没有名为make 的可执行文件,即使我安装了所有组件。有一个名为mingw32-make 的文件。还有其他以mingw32-为前缀的文件,如c++、g++、gcc、gcc-4.6.1、gfortran等。但是,C:\Program Files (x86)\MinGW\msys\1.0\bin 中有一个make

如果我打开 MinGW Shell 并输入make,make 就会执行。但是,它不会从 Windows 终端执行。

这是故意的,还是我也错过了其他可执行文件?我应该将C:\Program Files (x86)\MinGW\msys\1.0\bin 添加到我的路径中吗?

【问题讨论】:

  • 是的,将 msys bin 目录添加到您的路径中(在 MinGW 的 bin 目录之后)。这正是 MinGW shell 所做的以及它在那里工作的原因。
  • @eriktous 如果您作为答案发布,我可以接受。我在 MinGW 文档中找不到任何地方说要这样做 - 一切都只是说将 mingw/bin 添加到您的路径中。
  • @ThomasOwens:我很确定mingw32-makemake 相同,只是前缀而已。
  • 不了解文档,但可以这样想:操作系统还能如何找到程序?它仅在 PATH 中的目录中查找可执行文件。
  • @Mehrdad:我很确定不是。 mingw32-make 可作为独立程序运行。 (MSYS-)make 需要 MSYS 运行时才能工作。

标签: c++ makefile mingw msys


【解决方案1】:

是的,将 msys bin 目录添加到您的路径中(在 MinGW 的 bin 目录之后)。这正是 MinGW shell 所做的以及它在那里工作的原因。

【讨论】:

    【解决方案2】:

    试试gmake。有时,GNU 版本的 Make 将自身安装为 gmake,以便与非 GNU Make 区分开来。

    【讨论】:

    • 我忘了提及,我阅读了有关设置 MinGW 的问题中链接的博客文章。 gmake 也没有效果。当我继续浏览 Google 时,我确实读到了不建议安装到 Program Files(尽管它是我的默认安装目录),所以我也重新安装到 C:\mingw。
    • 是的,mingw 最终会因为您将它安装在名称中包含空格的路径中而感到不安。
    • 有趣。直到进入谷歌几页我才读到。我刚刚安装到默认位置,并认为一切都会好起来的。显然,情况并非如此。
    • 重新安装刚刚完成。 C:\mingw\bin 中没有makegmake,但仍有mingw32-makemake 可执行文件仍位于 C:\mingw\msys\1.0\bin 中。我正在考虑将第二个目录添加到我的路径并完成它。希望 Eclipse 可以应付。
    【解决方案3】:

    C:\Program files\xxx 里面有空格!由于涉及到 shell 脚本,因此空格很重要,必须转义。因此,这条路径不适用于 mingw。文档建议将 MingW 安装在 C:\MingW 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多