74

我下载了 c++ 的 eclipse (cdt-master-8.0.2.zip)。

当我写:

#include <iostream>

它标志着:

Unresolved inclusion: <iostream>

我该如何解决?

4

13 回答 13

99
  1. 单击项目 → 属性
  2. 展开C/C++ 常规
  3. 单击预处理器包括路径、宏等。
  4. 单击提供程序选项卡。
  5. 检查CDT GCC 内置编译器设置
  6. 选中使用项目之间共享的全局提供程序预处理器属性
  7. 单击应用并关闭
于 2014-01-30T23:46:52.827 回答
18

我使用 Eclipse 进行交叉编译,我必须为一些标准 C++ 库添加显式目录。右键单击您的项目并选择属性。您将看到图像中显示的对话框。按照图像并使用 + 图标显式添加 C++ 库的路径。在此处输入图像描述

于 2012-08-14T19:21:52.707 回答
13

确保您的文件扩展名为 .cpp 而不是 .c,我刚刚遇到了这个问题

于 2012-11-15T16:30:08.880 回答
6

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

C:\MinGW\lib\gcc\mingw32\4.8.1\include\c++

您可以在 Eclipse 中添加路径:Project > C/C++ General > Paths and Symbols > Includes > Add。我希望这会有所帮助

于 2015-12-03T13:32:11.790 回答
4

安装 gcc。

如果您使用的是 linux,请使用包管理器。

如果您在 Windows 上,请使用MinGW

于 2012-04-29T16:35:15.640 回答
3

就我而言,它不是CDT GCC Built-in Compiler Settings。只有在我包含CDT GCC 内置编译器设置 Cygwin之后,解析器才识别出我的#include <iostream>.

于 2014-08-03T13:33:14.263 回答
2

听起来你以前没有使用过这个 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

于 2013-03-05T15:09:33.460 回答
1

对于那些使用全新安装的 Ubuntu 或其他 Linux 发行版的用户,请确保在尝试编译 Eclipse CDT 项目之前至少拥有“build-essential”包。

在终端输入:

sudo apt-get install build-essential

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

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

sudo apt-get install g++
于 2015-04-05T15:56:43.217 回答
1

我将 Eclipse 与 Cygwin 一起使用,这对我有用:

转到 Project > Properties > C/C++ General > Preprocessor Includes... > Providers 并选择“CDT GCC Built-in Compiler Settings Cygwin [Shared]”。

于 2014-12-02T06:35:51.037 回答
1

我在 Windows 中使用 cygwin 运行 eclipse。

Project > Properties > C/C++ General > Preprocessor Includes... > Providers 并在提供程序列表中选择“CDT GCC Built-in Compiler settings Cygwin”为我解决了问题。

于 2017-09-02T09:34:37.830 回答
1

在 Linux 上也设置${COMMAND}g++

在下面:

  • 项目
  • 特性
  • C/C++ 通用
  • 预处理器包括路径、宏等。
  • 提供者
  • CDT GCC 内置编译器设置
  • 获取编译器规格的命令

代替:

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

和:

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

如果您不这样做,Eclipse 标准输出将显示:

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下一个。

我想知道我们是否可以在设置中正确定义COMMANDandFLAGS变量,但我尝试将它们添加为构建变量,但它不起作用。

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

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

于 2018-06-29T10:19:42.787 回答
0

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

于 2018-02-26T12:20:44.467 回答
0

我在 Eclipse 2019-12 中遇到了这个问题,其中包含的内容以前已解决,但后来没有解决。这是使用 Meson 构建的 C/C++ 项目。我不确定到底发生了什么,但关闭项目并重新打开它为我解决了这个问题。

于 2020-02-19T18:14:10.413 回答