0

示例项目上的代码如下所示:

在此处输入图像描述

错误包括:

Unresolved inclusion: <iostream>
Symbol 'std' could not be resolved
Symbol 'cout' could not be resolved

但是,运行项目成功输出:

!!!Hello World!!!

我猜它的自动完成部分没有查看正确的文件,知道如何解决这个问题吗?

4

2 回答 2

0

您可能只需要重建索引,否则您只需要设置 IDE“发现”选项。

如果不知道您拥有什么 Eclipse、什么工具链以及所有其他未知数,我无法告诉您如何做到这一点。显然,您的编译器确实知道这些东西在哪里,这很重要。

无论如何,如果您查看项目属性,在“C/C++ General”下,您应该在“Preprocessor Includes”和/或“Paths and Symbols”中找到相关选项。

特别是,“Preprocessor Includes”->“Entries”->“C”应该列出它认为正确的位置。如果不是,请尝试摆弄“提供者”并找到一些确实提供正确位置的设置。您可能必须为某些提供程序运行构建以检测位置。

于 2013-10-16T13:59:55.573 回答
0

languitar 的说明解决了我的问题:

带有 CDT 的 Eclipse Juno 不添加内置包含目录

他说,

Open the Eclipse Preferences dialog (Windows | Preferences).
Open C++ | Build | Settings.
Open the Discovery tab.
Select the built-in compiler settings entry.
Press the Clear Entries button.

之后 eclipse 应该再次从编译器请求默认值。

在 Arch Linux 上,每次 GCC 版本更改后我都必须这样做,因为在这种情况下,默认值的位置会随着版本编码在文件夹名称中而更改,而 eclipse 不会注意到这一点。

于 2013-10-17T03:28:12.937 回答