2011-12-20 73 views
8

我正在使用ecipse cdt开发C++程序。一个问题是我把我所有的工作空间和eclipse包从turbolinux移到了centos linux。然后它会导致一个问题,那就是系统包含的是不同的,但是eclipse没有刷新包含路径。而所有的std容器类都无法解决。刷新eclipse cdt系统包括

任何人都知道如何解决这个问题?

回答

12

我最近被这一个咬我(在寻求答案,其实来到这个网站;-)所以我会分享我发现:

(这些步骤反映的Eclipse靛蓝SR1)

首先,仔细检查了Eclipse仍反映旧有路径:

  • 项目 - >属性 - > C/C++常规 - >路径和符号 - > GNU C++

接下来,清除旧的路径:

  • 项目 - >属性 - > C/C++编译 - >查找选项 - > GCC C++编译器

  • 点击按钮 “立即清除发现条目”

重建项目,这样了Eclipse拿起在新的include路径

确认新的包含路径设置:

  • 项目 - >属性 - > C/C++常规 - >路径和符号 - > GNU C++
+0

谢谢,似乎这些步骤无法解决我的系统上的问题。不知道日食有什么问题。目前我必须自己添加包含路径,我将标准路径导出到文件中,并且每次创建新项目时都会导入该文件。然而这种方式听起来有点愚蠢。 :) – user966085 2012-01-11 01:55:48

+1

请确保选择“托管构建系统 - 每个项目...“发现 - 选项窗口中的”GCC每个文件扫描程序...“,如果问题仍然存在,请运行”项目“>”索引“>”重建“。 – 2012-08-14 13:53:27

1

检查Eclipse的月神4.4.0与CDT 8.4.0.201406111759。

您可能会看到您的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版本(恕我直言,直到靛蓝),扫描仪缓存文件被放置在workspace/.metadata/.plugins/org.eclipse.cdt.make.core/,并命名为YourProjectName.sc

0

在最新的Eclipse CDT Mars.1 Release(4.5.1)中,您将不得不删除${WORKSPACE}/.metadata/.plugins/org.eclipse.cdt.core/${PROJECTNAME}.randomnumbers.pdom文件,并且在打开项目后,Eclipse应自动开始重新索引包含。