如何在 Eclipse CDT 的 C + + 文件中解决“未解决的包含: < iostream >”?

我下载了 C + + 的 Eclipse(cdt-master-8.0.2.zip)。

当我写道:

#include <iostream>

它标志着:

Unresolved inclusion: <iostream>

我该怎么补救?

145141 次浏览

安装 gcc。

如果你在 Linux 上,使用软件包管理器。

如果使用 Windows,请使用 MinGW

我使用 Eclipse 进行交叉编译,并且必须为一些标准 C + + 库添加显式目录。右键单击项目并选择“属性”。您将看到图像中显示的对话框。跟随图像并使用 + 图标显式地添加到 C + + 库的路径。enter image description here

请确保您的文件有.cpp 扩展名,而不是.c,我只是有这个问题

听起来你以前没用过这个 IDE。阅读 Eclipse 的“ Before You Begin”页面,按照说明到 T。这将确保 Eclipse (只是一个 IDE)实际上链接到编译器。

Http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.cdt.doc.user/concepts/cdt_c_before_you_begin.htm

  1. 项目→物业
  2. 展开 C/C + + 一般
  3. 预处理器包括路径、宏等。
  4. 单击 供应商选项卡。
  5. 检查 内置编译器设置
  6. 检查 使用项目之间共享的全局提供程序Preprocessor Properties
  7. 应用及缝合

在我的情况下,它不是 内置编译器设置。只有在我包含 内置编译器设置 Cygwin之后,解析器才能识别我的 #include <iostream>

我在 Cygwin 中使用 Eclipse,这对我很有用:

转到 Project > Properties > C/C + + General > PreProcessing include... > Provider 并选择“ CDT GCC 内置编译器设置 Cygwin [ Shared ]”。

对于那些使用新安装的 Ubuntu 或其他 Linux 发行版的用户, 在尝试编译 EclipseCDT 项目之前,请确保您至少拥有“构建基本”包。

在终端机,输入:

sudo apt-get install build-essential

它应该足以编译和运行您的应用程序。

当然,您也可以使用以下命令执行完整的 g + + 安装:

sudo apt-get install g++

我尝试了前面提到的所有答案,但在我的情况下,我必须手动指定 iostream 文件的 include 路径。当我使用 MinGW 时,路径是:

C: MinGW lib gcc mingw324.8.1 include c + +

您可以将 Eclipse 中的路径添加到: 项目 > C/C + + 常规 > 路径和符号 > 包含 > 添加。我希望这有所帮助

我正在运行与 Cygwin 在 Windows 日蚀。

项目 > 属性 > C/C + + 常规 > 预处理器包括... > 提供程序 并在提供商列表中选择“ CDT GCC 内置编译器设置 Cygwin”为我解决了问题。

在 Windows 上,使用 EclipseCDT 氧气,这里描述的所有解决方案都不适合我。我在另一个问题中描述了对我有效的方法: Eclipse CDT: 未解决的 stl 头包含问题

还可以在 Linux 上将 ${COMMAND}设置为 g++

下面:

  • 工程项目
  • 物业
  • C/C + + 一般
  • 预处理器包括路径、宏等。
  • 供应商
  • 内置编译器设置
  • 命令获取编译器规格

更换:

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

与:

g++ -std=c++11 -E -P -v -dD "${INPUTS}"

如果不这样做,Eclipse stdout 将显示:

Unable to find full path for "-E"

以及 ${HOME}/eclipse-workspace/.metadata/.log下的日志显示:

!ENTRY org.eclipse.cdt.core 4 0 2020-04-23 20:17:07.288
!MESSAGE Error: Cannot run program "-E": Unknown reason

因为 ${COMMAND} ${FLAGS}是空的,所以 Eclipse 尝试执行接下来的 -E

我想知道我们是否可以正确地定义 COMMANDFLAGS变量的设置,但我试图添加他们作为构建变量,它没有工作。

C 版本的问题: Eclipse CDT 中 C 标准库头的“未解决的包含”错误

在 Eclipse 2020-03(4.15.0)、 Ubuntu 19.10和这个 具有现有源的最小 Makefile 项目上进行了测试。

我在 Eclipse 2019-12中遇到过这个问题,之前解决了包含的问题,但后来没有解决。这是一个 Meson 构建的 C/C + + 项目。我不确定到底发生了什么,但是结束这个项目并重新开放它为我解决了问题。