windows - Eclipse CDT -- 找不到程序 "make"(已安装 win7、mingw、msys)

标签 windows eclipse makefile mingw eclipse-cdt

我在 Windows 7 上运行带有 CDT 的 Eclipse Juno。已经用 msys 安装了 MinGW 并设置了我的 PATH。如果我只运行 cmd.exe 并键入 make,它会运行 msys make.exe:

C:\Users\dev>make
make: *** No targets specified and no makefile found.  Stop.

C:\Users\dev>echo %PATH%
C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files (x86)\php;C:\Program Files (x86)\libtidy\bin;C:\Program Files\7-Zip;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.7.0\bin;C:\Program Files (x86)\apache-ant-1.8.4\bin;C:\Program Files\TortoiseHg\;C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files (x86)\php;C:\Program Files (x86)\libtidy\bin;C:\Program Files\7-Zip;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.7.0\bin;C:\Program Files (x86)\apache-ant-1.8.4\bin;C:\Program Files\TortoiseHg\;C:\Program Files (x86)\MinGW\bin;C:\Program Files (x86)\MinGW\msys\1.0\bin

到目前为止一切顺利。但即使在重新启动 Eclipse(甚至重新启动 Windows!)后,当我尝试制作简单的“Hello World”C 程序时,CDT 也会给我以下错误消息:

Program "make" not found in PATH

Eclipse errors output

有趣的是,如果我从 Eclipse 运行以下 Java 代码...

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Temp {
    public static void main(String[] args) {
        System.out.println(System.getenv("PATH"));
        try {
            String line;
            Process p = Runtime.getRuntime().exec("make");
            BufferedReader input =
              new BufferedReader
                (new InputStreamReader(p.getErrorStream()));
            while ((line = input.readLine()) != null) {
                System.out.println(line);
            }
            input.close();
          }
          catch (Exception err) {
            err.printStackTrace();
          }
    }
}

...我得到了我期望的输出,即:

C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files (x86)\php;C:\Program Files (x86)\libtidy\bin;C:\Program Files\7-Zip;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.7.0\bin;C:\Program Files (x86)\apache-ant-1.8.4\bin;C:\Program Files\TortoiseHg\;C:\Program Files (x86)\MinGW\bin;C:\Program Files (x86)\MinGW\msys\1.0\bin
make: *** No targets specified and no makefile found.  Stop.

为什么 Eclipse CDT 找不到 make 而其他人都能找到!?

最佳答案

无论出于何种原因,将 MinGW 和 Msys 路径移动到 PATH 变量的前面(它们在上述问题的末尾)解决了我的问题。

关于windows - Eclipse CDT -- 找不到程序 "make"(已安装 win7、mingw、msys),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17176406/

相关文章:

c# - CredUIPromptForCredentials 强制手动选择用户名

c# - 单元测试需要读取文件。我如何使其便携?

eclipse - Buildship如何在项目范围内设置环境变量

eclipse - 如何手动更新包资源管理器(首选项)

c++ - 链接程序时是否需要重复编译标志?

iphone - Windows 上的 iOS 开发

c++ - 使用固定编码的字符串到字节序列的转换,最好是 UTF-8

java - 如何从同一 JPanel 中的其他 JList 中的 JList 中选择一个项目

python - Snow Leopard 上的 mod_wsgi python 版本不匹配

c++ - Linux 使 : Need to rebuild a text file when makefile changes