我正在使用Eclipse在Linux上通过链接的资源编写C++代码。 代码分析索引似乎已经损坏(转到定义会将光标放置在定义附近但不准确)。 刷新资源无法解决问题,重启Eclipse也无法解决问题。
是否有一种方法可以清除索引并重新构建它?
我正在使用Eclipse在Linux上通过链接的资源编写C++代码。 代码分析索引似乎已经损坏(转到定义会将光标放置在定义附近但不准确)。 刷新资源无法解决问题,重启Eclipse也无法解决问题。
是否有一种方法可以清除索引并重新构建它?
右键单击您的项目,在索引子菜单下选择“重建”,“使用修改后文件更新”或“刷新所有文件”。
我不知道这三个选项之间的区别,但“使用修改后文件更新”或“刷新所有文件”通常对我有用。
此外,我确定您已经完成了此操作,但请确保运行最新版本的Eclipse CDT。当前版本似乎比以前版本具有更可靠的索引功能。
Rebuild: 仅适用于整个项目。清除索引并从头开始对文件进行索引。当被取消时,会留下一个空的或部分建立的索引。
使用已修改的文件更新:适用于资源选择。检查单个文件的时间戳或扫描器配置是否已更改,并更新已更改文件的索引。
更新所有文件:适用于资源选择。更新索引中的选定文件。索引不会清除,可以安全地取消操作。
进入你的项目 属性 -> C++常规 -> 索引器
。
'项目特定设置'
进行此操作,'配置工作区设置...'
上)。'启用索引器'
,点击应用
。'启用索引器'
,点击应用
。这将完全清除并重建索引。
以上方法都对我没用(Eclipse Indigo),索引仍然损坏,拒绝正确地重建。直到我尝试了这个:
http://slsam2.blogspot.com/2012/02/eclipse-cdt-index-not-working.html
这篇链接文章中的关键是:
Eclipse不再将你的项目视为C++项目。选择菜单
File/New/Convert to a C/C++ project
转换为C/C++项目。它需要一些时间来索引源代码。
我仍然想知道Eclipse如何控制不住地自己给自己惹麻烦。我怀疑安装其他软件包可能会触发它。也许是JavaScript支持在我的情况下。
只删除.metadata.plugins\org.eclipse.cdt.core下的.pdom文件可以帮助解决升级Neon.2到Neon.3后索引出现问题的情况。
Eclipse不再将您的项目视为C ++项目。选择菜单File/New/Convert to a C/C++ project转换为C/C++项目。需要一段时间来索引源代码。这对我有用。
我一开始尝试了Josh Kelleys和mmmmms的答案,但都没有成功,最后通过检查我的包含路径来解决了问题。
一种查看它们的方法是在项目资源管理器中展开项目,应该会有一个名为“Includes”的条目。在其中,检查每个包含路径上是否有一个小黄色警告三角形。如果存在这个三角形,那么Eclipse很可能无法识别该路径。
可以通过右键单击项目资源管理器中的“您的项目”,然后选择“属性”--> C/C++常规 --> 路径和符号 --> 包含项 来编辑包含路径。
我看到了三个语言选项,汇编语言、Gnu C语言、Gnu C++语言。在开始添加路径之前,请选择正确的语言选项(可能是Gnu C++)。添加完所有路径后,点击 -->应用-->确定,如果需要,重新构建索引。
我的错误工作区路径看起来像MyProject/MyProject/folder,而实际上应该是MyProject/folder。
对我来说,“问题”视图总是更新缓慢,即使重建索引也是如此。为确保错误仍然存在,请双击问题条目,以便Eclipse打开/重新加载相关文件。这对我更新“问题”视图似乎经常是必要的。
我不确定是Eclipse还是我的版本控制出了问题。无论如何,希望能帮到其他人!
我使用Luna并使用外部makefile进行构建。
__cplusplus__
变为201300,从而可以使用make_unique。毕竟,所有这些重建之后,我需要的是刷新步骤。 - cardiff space man