自从我从Eclipse Indigo升级到Juno(在Ubuntu 12.04上)以来,我遇到的问题是标准库显示“未解决的包含”错误(例如#include <iostream>
和#include <vector>
旁边等等),尽管程序构建并运行良好(使用g ++)。这只发生在使用Juno创建的新项目中,而不是在工作区中使用Indigo创建的旧项目。
由于其他几个SO问题(见下文*),我能够在项目的属性&gt;中找到问题的根源而没有“内置值”。 C / C ++一般&gt;路径和符号&gt;包含标签:
/usr/include/c++/4.6
/usr/include/c++/4.6/x86_64-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/x86_64-linux-gnu/4.6/include
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
当我的旧Indigo项目中没有此问题时勾选“显示内置值”复选框时,存在,但在我使用Juno创建的新项目中不存在。果然,如果我手动将这七个目录添加到项目设置中的“包含”选项卡,问题就会消失。但我不想为我创建的每个新项目手动执行此操作。有没有理由这不再是Juno的默认设置,有没有办法恢复它?
*其他有关类似问题的SO问题我已经咨询但没有解决我的问题:
~/.eclipse/
并重建索引没有帮助。答案 0 :(得分:12)
请
之后eclipse应该再次从编译器请求默认值。
在Arch Linux上我必须在每次GCC版本更改后执行此操作,因为在这种情况下,默认值的位置随着版本在文件夹名称中编码而更改,而eclipse没有注意到这一点。
答案 1 :(得分:0)
FWIW:
我发现从另一台计算机导入项目后,我没有在Project Explorer的项目“Includes”部分下显示任何内容。要解决此问题,我需要删除文件夹/workspace/project/.settings/
。对我来说,它只有一个文件(language.settings.xml
)。
然后一切都恢复正常。