如何解决Eclipse CDT中C ++文件中的“Unresolved inclusion:<iostream>”?</iostream>

时间:2012-04-29 16:28:05

标签: c++ eclipse iostream

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

当我写:

#include <iostream>

它标志着:

Unresolved inclusion: <iostream>

我该如何解决?

12 个答案:

答案 0 :(得分:93)

转到项目&gt;属性&gt; C / C ++一般&gt;预处理器包括...&gt;提供商并选择“ CDT GCC内置编译器设置”。

答案 1 :(得分:16)

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

答案 2 :(得分:12)

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

答案 3 :(得分:5)

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

C:\ MinGW的\ lib中\ GCC \的mingw32 \ 4.8.1 \包括\ C ++

您可以在Eclipse中添加路径: 项目&gt; C / C ++一般&gt;路径和符号&gt;包括&gt;加。我希望有帮助

答案 4 :(得分:3)

安装gcc。

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

如果您使用的是Windows,请使用MinGW

答案 5 :(得分:2)

在我的情况下,它不是 CDT GCC内置编译器设置。通过包含 CDT GCC内置编译器设置Cygwin ,解析器识别出我的#include <iostream>

答案 6 :(得分:1)

听起来你之前没有使用过这个IDE。阅读Eclipse的“开始之前”页面并按照T的说明操作。这将确保Eclipse(仅是IDE)实际上链接到编译器。

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

答案 7 :(得分:1)

我正在使用Eclipse和Cygwin,这对我有用:

转到项目&gt;属性&gt; C / C ++一般&gt;预处理器包括...&gt;供应商 并选择“CDT GCC内置编译器设置Cygwin [共享]”。

答案 8 :(得分:1)

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

在终端,输入:

sudo apt-get install build-essential

编译和运行你的应用程序应该足够了。

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

sudo apt-get install g++

答案 9 :(得分:1)

我在Windows中使用cygwin运行eclipse。

项目&gt;属性&gt; C / C ++一般&gt;预处理器包括...&gt;供应商 并在供应商列表中选择“CDT GCC内置编译器设置Cygwin”为我解决了问题。

答案 10 :(得分:0)

还在Linux上设置“获取编译器规范的命令” ${COMMAND}

首先要做:

  • 项目
  • 属性
  • C / C ++常规
  • 预处理器包含路径,宏等。
  • 提供商

然后然后在“获取编译器规格的命令”下替换:

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

具有:

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

否则,它将失败:

Unable to find compiler command in toolchain=cdt.managedbuild.toolchain.gnu.base

在Eclipse Photon候选版本3(4.8.0RC3),Ubuntu 16.04和此minimal Makefile project with existing sources上进行了测试。

答案 11 :(得分:0)

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