Eclipse CDT索引器 - 如何解决未解决的问题

jam*_*jam 12 indexer eclipse-cdt

我有一个包含多个项目的工作区,所有这些项目都没有问题.但是,由于未解决的包含,一些项目在编辑器中提供了许多关于未解析符号的警告.大多数是来自工作区中的其他项目或第三方库的标头.

谷歌搜索表明这是索引器的一个问题,但我没有找到任何关于如何解决它的连贯解释 - 我假设我需要将这些库的路径添加到索引器的PATH,但我看不到任何选项那样做(我正在使用Juno).

任何人都可以向我解释如何配置CDT的索引器?

我也得到了未解决的包括两个项目中STL标题的警告.一些STL头被解析但其他的不是,并且两个项目之间的列表似乎不一样(一个找到像vector和iostream这样的东西,但不是sstream或string,另一个找不到iostream) .

可能相关:这些是C++项目,但所有文件扩展名都是.c.我将GCC C Compiler命令更改为'g ++'来编译它们,但我想我还需要对索引器设置做些什么来应对它?

jam*_*jam 6

好的,我现在已经解决了这个问题.

  1. 未解决包括工作区中的其他项目和第三方库通过添加其他项目作为参考来解决.我想编译器知道在哪里看,因为我已经将位置添加到Includes列表中,但是索引器没有(可能是因为eclipse只处理了一次头文件?)

  2. 尚未解决的问题包括STL我通过将所有实际上是C++的.c文件更改为.cpp来修复.只是将编译命令更改为'g ++'显然不足以告诉索引器将项目视为C++.

在1)的情况下,我需要首先清理/重建引用项目的索引以删除未解决的包含错误.


Ale*_* C. 5

右键单击工作区中的项目,选择Properties- > C++ General- > Paths and Symbols,然后为特定编译器添加包含和符号,在可用选项卡上添加库和其他所需内容.在那次打击之后Apply- 它应该开始重新索引,你的问题应该消失了.

  • 感谢您对Alexandru的回复.不幸的是,这似乎没有帮助我 - "属性> C++通用>路径和符号"下的列表似乎是"C/C++ Build>设置>工具设置>包含"下的列表的镜像,我有已经填充了编译项目所需的包含目录的路径.但是,索引器仍会在这些目录中发出"未解析的包含"警告. (2认同)

Rya*_*ins 5

我有一个类似的问题,我的项目将在其中构建,但在Eclipse Kepler中显示未解决的问题.

就我而言,我已经采用了现有的ARM项目并创建了一个使用不同工具链的自定义构建配置.新的构建配置具有所有正确的包含,因此项目构建正确但索引器没有提取它.

我通过设置索引器来使用活动的构建配置来修复它.在Window-> Preferences-> C/C++ - > Indexer中,在标记为"为索引器构建配置"的部分下,我选择了"使用活动的构建配置"并将其清除.