【问题标题】:Eclipse CDT - "Program "-E" not found in PATHEclipse CDT - 在 PATH 中找不到“程序”-E
【发布时间】:2014-04-08 03:25:39
【问题描述】:

这让我发疯了。我最近调整了我的 C 项目:

C/C++ 常规->路径和符号->包含->GNU C->包含目录

现在,我列出了以下错误:

Program "-E" not found in PATH

Location: Project Properties, C++ Preprocessor \
          Include.../Providers, [CDT Cross GCC Built-in \
           Compiler Settings] options

没有创建一个新的工作区并重新开始,这到底是什么意思,我该如何修复我当前的项目???

注意

关闭 Eclipse,从 Source-Control Fresh 签出项目,然后重新启动仍然显示问题!!!这怎么可能。

-贾斯汀

【问题讨论】:

  • 这里的一个困难部分是我无法弄清楚程序'E'是什么!!!起初,我以为它的意思是'gcc -E',但那不是程序......
  • 这意味着编译器的名称设置为空。 CDT构造命令行compiler_name -E ...;如果 compiler_name 为空,则 -E 似乎是程序名称。

标签: eclipse eclipse-cdt


【解决方案1】:

我遇到了类似的问题,在我的情况下,在项目属性(C/C++ Build -> Tool Chain Editor -> Current toolchain)中将工具链从 Linux GCC 更改为 Cross GCC 解决了这个问题

【讨论】:

    【解决方案2】:

    在项目设置中,转到“C/C++ Build > Tool Chain Editor”。在我的情况下,选定的工具链是空的。因此,我选择了我使用的工具链(在您的情况下似乎是“Cross GCC”)。这将设置 ${COMMAND} 变量(以及 ${FLAGS} 和 ${INPUTS}),在您的情况下似乎未设置。例如,如果您关闭项目并重新打开它,错误应该会消失。

    我看到的第二个选项是,当您“调整项目”时,Eclipse 用来确定编译器/工具链的默认定义和包含路径的命令搞砸了。您应该可以按如下方式解决此问题:打开项目设置并转到“C/C++ 常规 > 预处理器包含路径、宏等”,选择“提供程序”选项卡,选择活动的“CDT * 内置编译器设置” " 列表中的提供程序,并确保“获取编译器规范的命令”以 '${COMMAND} -E' 而不是 '-E' 开头。在我的情况下,完整的行是'${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"'。如果您不想在 Eclipse 执行此命令时再看到输出,您可以取消选中“在控制台视图中分配控制台”。

    【讨论】:

      【解决方案3】:

      我已经遇到这个问题好几个月了,终于为我的 Eclipse 找到了解决方案。 我注意到这个问题出现在我的一些项目中,但不是在所有项目中,在检查 .cproject 选项后,我意识到 Eclipse 以某种方式使用了一些未定义或未正确扩展的变量,在我的情况下为 ${CXX } 和 ${CC}。

      所以我的解决方案是转到 Preferences > Run/Debug > String Substitution 并创建两个字符串替换变量:

      • CC=gcc
      • CXX=g++

      从控制台清除错误,重新启动 Eclipse,错误就消失了。

      希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        您是否使用 GCC 编译器 for ARM ? 在这种情况下,您应该从 http://gnuarmeclipse.livius.net/blog/ 安装 ARM Eclipse 插件

        【讨论】:

          猜你喜欢
          • 2015-08-21
          • 1970-01-01
          • 2014-03-12
          • 2017-02-02
          • 2020-03-23
          • 2012-07-27
          • 2016-11-16
          • 2014-05-28
          • 2016-10-22
          相关资源
          最近更新 更多