【问题标题】:refresh eclipse cdt system includes刷新eclipse cdt系统包括
【发布时间】:2012-01-24 02:12:07
【问题描述】:

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

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: eclipse eclipse-cdt


    【解决方案1】:

    我最近自己也被这个咬了(实际上是来这个网站寻找答案的 ;-) 所以我会分享我的发现:

    (这些步骤反映了 Eclipse Indigo SR1)

    首先,仔细检查 Eclipse 是否仍然反映旧的包含路径:

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

    接下来,清除旧路径:

    • 项目 -> 属性 -> C/C++ 构建 -> 发现选项 -> GCC C++ 编译器

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

    重建您的项目,以便 Eclipse 选择新的包含路径

    确认设置了新的包含路径:

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

    【讨论】:

    • 谢谢,这些步骤似乎无法解决我系统上的问题。不知道eclipse有什么问题。目前我必须自己添加包含路径,我将标准路径导出到一个文件中,每次创建新项目时我都会导入该文件。然而,这种方式听起来有点愚蠢。 :)
    • 确保在 Discovery-Options 窗口中选择“Managed Build System - per project...” insted of “GCC per file scanner...”。如果某些问题仍然存在,请运行 Project>Index>Rebuild。
    【解决方案2】:

    检查了带有 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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-19
        • 1970-01-01
        • 2011-09-20
        • 2010-09-28
        • 2011-08-19
        • 2013-09-01
        • 1970-01-01
        • 2014-11-10
        相关资源
        最近更新 更多