Eclipse CDT索引器表现不正常

时间:2012-05-29 18:38:04

标签: eclipse eclipse-cdt indexer

我经常在Eclipse CDT中与索引器作战。目前,我的代码类似于以下内容,是的,这很简单:

#include <Othernamespace/Bar>

class Foo : public Othernamespace::Bar
{
public:
    Foo(const Othernamespace::Zip& env);
};

Foo::Foo(const Othernamespace::Zip& env)
: Othernamespace::Bar(env)
{ }

解析<Othernamespace/Bar>头文件没有问题。 将Othernamespace::Bar解析为父类没有问题。 解决Othernamsespace::Zip没有问题。

但是,在Foo constrcutor中,对Othernamespace::Bar的链式调用被标记为错误。如果我右键单击include并检查代码,我可以清楚地看到Bar构造函数需要const Zip& argument

更重要的是:我有另一个项目使用相同的框架和相同的包含和Othernamespace :: Bar被编入索引就没问题了。为什么,哦为什么我不能得到这个索引?

同样,我基本上在这里重复使用代码,并且在之前的使用中没有问题。我可以从编辑器中打开包含的文件,并在调用父构造函数时验证我的参数是否正确(并且我将索引器设置为索引在编辑器中打开的文件)。

我尝试过重建索引。我试过“刷新所有文件”。我已经尝试将索引大小的最大限制从64增加到128MB(不是我认为我接近64MB)。这些都没有任何区别。

我还注意到对继承类成员的其他调用被标记为未找到,这意味着我在这个类上做的任何工作都只是错误标记。同样,我已经验证了包含的文件(已解析)包含这些方法声明。依然没有。

我项目中的其他文件也来自索引。它们会好一分钟,但下次打开它们时,它们都被标记为错误。我将重建索引,它会好一段时间,只是为了以后再次发生。

我觉得我花费更多的时间与索引器争斗而不是完成工作,而且它不仅仅令人沮丧。是否有任何建议可以解决这些索引问题?

感谢。

1 个答案:

答案 0 :(得分:1)

我不是Eclipse的专家,也不是Indexer,但是就像你一样,我已经和它斗争了很长一段时间了。根据您提供的信息,您的问题可能是索引器中的错误。如果项目中的所有包含确实正确&gt;属性&gt; c / c ++ Build&gt;设置(我有一个问题,我把包括在C区而不是C ++区)然后你可以尝试从“/.plugins/org.eclipse.core.resources/.projects/删除”.index“文件夹yourProjectName“目录然后从”... /Eclipse_Workspace/.metadata/.plugins/org.eclipse.cdt.core“中删除项目的PDOM文件。在整个过程中确保eclipse关闭。然后开始吧。在此之后,您需要重做您的包含。这对我有用,所以希望它对你有所帮助。祝你好运。