【发布时间】:2011-11-08 13:02:46
【问题描述】:
我无法让 Eclipse 索引我的源代码。我目前在 Windows XP 上使用 Eclipse Helios。
我有一个名为 src 的目录。在其中,我有一堆目录,如下所示:
源代码 -include(通用标题) -lib -libIO(这个库的源代码) -libGUI(这个库的源代码) -pgms -pgm1(此 pgm 的源代码和标头) -pgm2(此 pgm 的源代码和标头)每个叶子都有自己的 Makefile。 src 中没有顶级 Makefile。 pgm1 可以并且确实包含来自 include 和 lib/libIO 和 lib/libGUI 的文件。
基本上,我希望 Eclipse 为我的整个 src 目录建立索引,而不必为树中的每一片叶子都设置一个 C/C++ 项目。我似乎找不到一种方法来制作发生这种情况。
这是我的症状;我要解决的问题:
在 pgm1 目录中编辑源代码时,它引用在我的包含目录头文件中声明并在 lib/libIO 中找到的源文件中定义的函数。
但是,当我按 F3 进入函数声明时,Eclipse 显示“在索引中找不到符号 'X'”。我似乎无法让 Eclipse 在我的光标下找到方法的标头声明或源定义(就像 Java 模块一样完美)。这可能吗?
【问题讨论】:
-
我知道这不是一个答案,但你可能想谷歌“Recursive Make Considered Harmful”。 :-)
-
如果我有权重构整个源代码树,我可能会,但有时当你为别人工作时,这不是一个选择。另外,我不认为这是Eclipse的无理要求! :)
-
您是否将每个包含标题的目录添加到项目的“包含标题”设置中?您还应该仔细检查索引器和项目设置,以确保您没有忽略任何内容。然后尝试重建索引(右键单击、索引、重建)。
-
我无法将目录添加到“包含标题”设置中的标题,因为这不是 C 或 C++ 项目。事实上,源代码树包括 Java 和 C 代码。我有一个单独的 Java 项目,它指向包含 Java 代码的单个子目录,但我希望我不必设置一个单独的 C 项目,指向其中包含 C 代码的 50 个子目录中的每一个所以索引器可以工作。最后,Indexer 选项显然在非 C 项目中不可用。
标签: eclipse eclipse-cdt