我正在使用ecipse cdt开发c ++程序。问题是我将所有工作空间和eclipse包从turbolinux移动到centos linux。然后它引起一个问题,那就是系统包含的不同,但eclipse没有刷新包含路径。并且所有std容器类都无法解决。
任何人都知道如何解决这个问题?
答案 0 :(得分:12)
我最近被自己咬了这个(实际上来到这个网站寻找答案;-)所以我会分享我找到的东西:
(这些步骤反映了Eclipse Indigo SR1)
首先,仔细检查Eclipse是否仍然反映旧的包含路径:
接下来,清除旧路径:
项目 - >属性 - > C / C ++ Build - >发现选项 - > GCC C ++编译器
点击“立即清除已发现的条目”按钮
重建您的项目,以便Eclipse选择新的包含路径
确认已设置新的包含路径:
答案 1 :(得分:1)
使用Cdt 8.4.0.201406111759检查Eclipse Luna 4.4.0。
您可以查看workspace/.metadata/.plugins/org.eclipse.cdt.core/
并查看名为YourProjectName.language.settings.xml
的文件。
删除此文件(最好在之前备份),然后重新打开项目(或重启Eclipse),Cdt应该触发GCC内置发现。
请注意,只有将您的设置设置为项目特定的Builtin Discovery(不适用于»使用项目之间共享的全局提供程序«)时,这种方式才可用。 →参见Project Properties → C/C++ General → Preprocessor Include Paths, Macros etc. → Providers → CDT GCC Built-in Compiler Settings
。
对于较旧的Eclipse版本(恕我直言,直到Indigo),扫描程序缓存文件放在workspace/.metadata/.plugins/org.eclipse.cdt.make.core/
中并命名为YourProjectName.sc
。
答案 2 :(得分:0)
在最新的Eclipse CDT Mars.1发行版(4.5.1)中,您必须删除${WORKSPACE}/.metadata/.plugins/org.eclipse.cdt.core/${PROJECTNAME}.randomnumbers.pdom
文件,打开项目后,Eclipse应自动开始重新编制包含索引。