【问题标题】:What causes the Eclipse CDT Unresolved inclusion: <iostream>导致 Eclipse CDT Unresolved 包含的原因:<iostream>
【发布时间】:2018-02-22 15:07:30
【问题描述】:

刚刚安装了最新的 Eclipse IDE,并且正在关注“开始之前”部分中包含的 C++ User Guide

simple application 已成功完成,但是一旦我进入 makefile projectC++ file 教程,我得到了“未解决的包含:&lt;iostream&gt;”错误和一堆与“cout, cin, endl" 因为它。

我完全按照说明进行操作,但不确定为什么会发生这种情况。我已经通过关注this answer 对其进行了更正,但现在想知道为什么会发生这种情况,特别是因为我正在关注官方教程,我是否必须为 Eclipse 上的每个项目添加 C++ 包含路径?

Related Question

【问题讨论】:

  • 你是如何设置你的工具链的?
  • 请注意 Eclipse 是一个非常糟糕的 C++ IDE。
  • @Neil 我完全不同意。
  • @user0042 你觉得哪个更差?
  • @Neil 我们以 CodeBlocks 为例。我也不太喜欢 Visual Studio。

标签: c++ eclipse eclipse-cdt iostream


【解决方案1】:

cmets 中链接的屏幕截图中的第一个错误为问题提供了线索。

如果您转到错误的“位置”中提到的首选项页面,您会看到一个名为“获取编译器规范的命令”的字段,其内容如下:

${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"

这是 Eclipse 尝试运行的命令,以使您的编译器输出其内置的包含路径和其他类似信息。

您收到错误Program "-E" not found in PATH 的事实表明变量${COMMAND}${FLAGS} 正在评估为空字符串,因此命令中的第一个实际标记(shell 然后尝试将其解释为程序名称)是-E

我不确定为什么这些变量评估为空,但您应该能够通过将 ${COMMAND} 替换为 g++ 来解决此问题(大概 g++ 在您的路径)。

【讨论】:

    【解决方案2】:

    我已经搜索了几个小时并尝试了很多解决方案。

    环境:windows,面向 C/C++ 开发人员的 Eclipse IDE

    版本:Kepler Service Release 2

    CDT:8.3.0

    以下步骤对我有用:

    确保环境清晰。 => 我建议删除 eclipse 并从您的原始下载中重新解压缩。删除所有与您设置为环境变量 PATH 的 eclipse 和 MinGW 相关的变量。

    确保工作区干净。 => 删除工作区文件夹中的 .metadata 文件夹。

    使用有效的 MinGW。 => 使用下载工具的速度很慢,我不确定该选择哪一个。我建议 http://vaultec.mbnet.fi/mingwstudio.php 下载包含解压缩 MinGW 的 MinGWStudio 这是一个 IDE 工具,例如 eclipse,包含一个下载的解压缩 MinGW。确保你下载了大约 20M 的一加 MinGW 编译器。如果您愿意,可以使用这个工作室,或者如果您仍然喜欢 eclipse,可以将 MinGW 文件夹复制到 C:/。 将/MinGWStudio里面的/MinGW复制到C:/

    关闭你的 Eclipse 并重新打开它,创建一个新项目,你应该可以看到 MinGW 部分的新项目选项,它会自动映射 g++、gcc 和 C:/MinGW 文件夹下的包含文件。只需确保将 MinGW 文件夹从 MinGWStudio 复制到 C:/ 的根目录。

    在这些步骤之后,您将能够看到您的包含。构建您的项目,即使有一些警告提示,一切都应该顺利。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2017-05-27
      • 2014-04-03
      • 2014-02-08
      • 2014-01-14
      • 2019-02-04
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多