我经常在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)。这些都没有任何区别。
我还注意到对继承类成员的其他调用被标记为未找到,这意味着我在这个类上做的任何工作都只是错误标记。同样,我已经验证了包含的文件(已解析)包含这些方法声明。依然没有。
我项目中的其他文件也来自索引。它们会好一分钟,但下次打开它们时,它们都被标记为错误。我将重建索引,它会好一段时间,只是为了以后再次发生。
我觉得我花费更多的时间与索引器争斗而不是完成工作,而且它不仅仅令人沮丧。是否有任何建议可以解决这些索引问题?
感谢。
答案 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关闭。然后开始吧。在此之后,您需要重做您的包含。这对我有用,所以希望它对你有所帮助。祝你好运。