Eclipse CDT:无法解析符号'cout','map','vector','size_t'等

时间:2012-09-23 09:28:29

标签: c++ linux eclipse-cdt include-path

有很多关于这方面的帖子,我已经尝试应用对其他人有用的解决方案,但仍然不适合我。

首先,我正在Linux下工作的c ++项目,Eclipse Indigo,gcc-4.7.1,cx11激活和Gentoo Linux,一切都很好。我的项目使用自制的静态库。我对一些模板类声明做了一些修改。然后,我的库中出现了一些意想不到的“无法解决”。

我所做的是重建库的索引,清理项目并重建它。它在修改之前和索引重建之前编译得很好,但是“无法解决”仍然在这里。

好的,我试着至少看看我的主要项目是否构建。库中有一个未解析的名称。所以我重建了主项目索引,在这里,所有标准关键字都带有下划线,“无法解决”到处都是,并且由于找到了数千个未解析的名称,因此无法进行编译。

我尝试清理并重建,在项目属性中添加许多包含路径:

-I/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/plugin/include -I/usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4/algorithm -I/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include -I/usr/include -I/usr/include/linux -I/usr/local/include

这没有改变。

'索引/搜索未解析的功能'发现:

  

算法,cassert,cmath,cstdlib,fstream,iostream,map,set,   sstream,string,tuple,utility

我试着明确地添加算法包含路径。但这没有改变。

在我的.cpp开头,我有一个using namespace std;。如果我之前添加std::,例如set,则不会更改任何内容。

std::之后的自动填充不建议例如set

当然,我试图关闭/重新打开Eclipse,但没有取得更多成功。

有任何线索吗?

编辑:我已经通过备份替换了我的.metadata,它似乎再次起作用。尽管如此,问题的根源仍然未知。由于大多数.metadata文件都是二进制文件,我无法调查。

1 个答案:

答案 0 :(得分:2)

.metadata已损坏。我只是用备份替换它。