如何让Eclipse索引整个C/C++;包含多个“的源目录树”;制作项目;?

如何让Eclipse索引整个C/C++;包含多个“的源目录树”;制作项目;?,eclipse,eclipse-cdt,Eclipse,Eclipse Cdt,我很难让Eclipse为我的源代码编制索引。目前我正在WindowsXP上使用EclipseHelios 我有一个名为src的目录。在它里面,我有一堆dir,类似这样: src -include (common headers) -lib -libIO (source code for this library) -libGUI (source code for this library) -pgms -pgm1 (source code an

我很难让Eclipse为我的源代码编制索引。目前我正在WindowsXP上使用EclipseHelios

我有一个名为src的目录。在它里面,我有一堆dir,类似这样:

src -include (common headers) -lib -libIO (source code for this library) -libGUI (source code for this library) -pgms -pgm1 (source code and headers for this pgm) -pgm2 (source code and headers for this pgm) src -包括(通用标题) -解放党 -libIO(此库的源代码) -libGUI(此库的源代码) -铂族金属 -pgm1(此pgm的源代码和标题) -pgm2(此pgm的源代码和标题) 每个叶都有自己的Makefile。src中没有顶级Makefile。pgm1可以并且确实包含来自include和lib/libIO以及lib/libGUI的文件

基本上,我希望Eclipse为我的整个src目录编制索引,而不必为树中的每个叶子都设置C/C++项目。我似乎找不到实现这一点的方法

这是我的症状;我试图解决的问题是:

在pgm1目录中编辑源代码时,它引用在my include dir头文件中声明并在lib/libIO中的源文件中定义的函数

然而,当我按F3键进入函数声明时,Eclipse说“在索引中找不到符号‘X’”。我似乎无法让Eclipse在我的游标下找到方法的头声明或源定义(就像Java模块所做的那样)。这可能吗?

请尝试以下方法(我的项目设置不同,因此我不确定这是否适合您)

转到属性->C/C++常规->路径和符号->源位置

你看到你的源文件夹了吗

我观察到这种行为: 当我添加一个源文件夹,然后将其从构建中排除时,它将从上面的列表中消失。在此之后,文件夹不再编制索引。将其重新添加到“源位置”解决了这个问题:文件夹现在已编制索引;仍被排除在构建之外(如预期);在源位置之间可见


我相信这是一个bug——从构建中排除一个源文件夹不应该将其从源位置列表中删除。

多亏了这里的评论,我成功地解决了这个问题。。。。我最终重新创建了我的项目。我使用Import方法从CVS下载了一个项目,并告诉它使用newprojectwizard来完成。当我得到新项目对话框时,我告诉它这是一个C++项目,索引现在工作得很好。 我仍然希望我可以索引文件而不必附加特定的项目类型,但至少我找到了答案


谢谢大家的帮助。

我遇到了与OP完全相同的问题,但出于某种原因,我在Eclipse(Helios Service Release 2)中使用的菜单不是“转到属性->C/C++常规->路径和符号->源位置”

我解决问题的方法是:

  • 在C/C++视图中,右键单击顶部的项目名称
  • 在菜单中,选择新建->C++项目 在出现的窗口中,选择转换为C++,然后选择C++项目;<李>
  • 单击“确定”关闭窗口

Eclipse将立即开始索引。取决于源代码树的大小,可能需要一段时间,但在那之后,索引最终会工作。

我遇到了类似的情况。我是这样解决的:右键单击project
View-->select Index-->rebuild中的项目。

退出Eclipse。在工作区中,转到“.metadata/.plugins/org.eclipse.cdt.core”并删除其中的所有内容

在project explorer面板中,右键单击要重新编制索引的项目,然后选择索引,然后在Coocox IDE(Eclipse+gcc)中选择所需的操作。问题通过从“文件”菜单解决
编辑>首选项>C/C++/Indexer>索引器的生成配置设置为活动生成配置并重新生成项目(Ctrl-R)。

如果项目已转换为C/C++且索引仍不工作,则可以右键单击项目并索引并重新生成。该项目将立即开始索引

当我们有一个庞大的项目、大量的文件,更重要的是有许多不同的构建选项时,对不同标志下的文件和变量进行索引总是很复杂的。我更喜欢使用Indexer选项来帮助我浏览整个代码。 您可以找到它:projectproperties>C/C++General/Indexer

您可以选择“启用项目特定设置”

然后由您为项目选择所需的选项。 对于特定的构建,我们可以选择“使用活动构建配置”,以便只考虑构建脚本使用的文件和宏。 或者索引整个项目中的所有源文件。

我正在使用

面向C/C++Linux开发人员的Eclipse IDE

版本:Helios Service Release 2 构建id:20110218-0911


我遵循上述建议,此外,我还必须标记所有参考项目(在工作空间中)使用project properties->project references

我遇到了Eclipse Luna索引器的问题,当时类声明中有一个未解决的友元声明-看起来索引器跳过了对该类其余部分的索引,所有对它的引用都被索引器显示为未解决


解决方案:删除未解析的好友声明(在我的情况下,它是不再需要的遗留代码)。

以下内容在Eclipse Neon中对我有效:
新建项目->C/C++->使用现有代码生成文件项目->下一步。然后导航到代码并完成项目创建。索引自动启动。

我正在使用Eclipse Neon 3,以下是对我有效的解决方案:

  • 归档
  • 新的
  • 转换为C/C++自动工具项目 然后选择您的项目并完成

完成索引可能需要一些时间,这取决于您的项目大小。

我知道这不是一个答案,但您可能希望在谷歌上搜索“递归使被认为是有害的”。-)及