如何让Eclipse索引包含多个"make projects"的整个C/C++源代码树?

Gor*_*don 25 eclipse eclipse-cdt

我无法让Eclipse为我的源代码编制索引.我目前正在Windows XP上使用Eclipse Helios.

我有一个名为src的目录.在其中,我有一堆dirs,像这样:

 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)

每个叶子都有自己的Makefile.src中没有顶级Makefile.pgm1可以并且确实包含来自include和lib/libIO以及lib/libGUI的文件.

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

这是我的症状; 我正在努力解决的问题:

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

但是,当我按F3来获取函数的声明时,Eclipse说"无法在索引中找到符号'X'".我似乎无法让Eclipse在我的光标下找到方法的头部声明或源定义(就像Java模块完美无缺).这可能吗?

小智 28

我有完全一样的问题,因为OP但由于某种原因在Eclipse中的菜单我使用(太阳神服务版本2)没有"进入属性 - > C/C++常规 - >路径和符号 - >源位置".

我解决问题的方法是:

  • 在C/C++视图中,右键单击顶部项目名称;
  • 在菜单中,选择New-> C++ Project;
  • 在出现的窗口中,选择Convert to然后选择C++ project;
  • 单击"确定"关闭窗口.

Eclipse将立即开始编制索引.根据源树的大小,可能需要一段时间,但在此之后您将最终使索引工作.

  • 这对我有用,请注意,该选项从该窗口移动到项目本身的上下文菜单,至少在Eclipse Kepler中.所以我做了(在C/C++视图中)右键单击该项目,选择`New` - >`Convert to C/C++ Project(Adds C/C++ Nature)`.在那里我选择了`Executable`和`Linux GCC`.我现在可以浏览我的代码了. (4认同)

小智 10

我遇到了类似的情况.我用这种方式解决了它:右键单击项目中的项目View-->select Index-->rebuild.


Gor*_*don 5

感谢这里的评论,我设法解决了这个问题。...我最终重新创建了我的项目。我使用导入方法从CVS下载项目,并告诉它使用“新建项目”向导来执行此操作。当我看到“新建项目”对话框时,我告诉它这是一个C ++项目,现在索引工作正常。

我仍然希望我可以索引文件而不必附加特定的项目类型,但是至少我找到了答案。

谢谢大家的帮助。