Eclipse CDT 缺少功能

Eclipse CDT missing features

我们有一个要在 Linux (CentOS 7) 上使用 Eclipse 来增强的 C++ 项目。我们有一个安装了 Eclipse 和 CDT(C++ 插件)的 Linux 虚拟机。使用 CMake,我们为项目生成了 make 文件并在 Eclipse 中启动它(文件 → 导入 → 常规 → 现有项目到工作区)。从那里我们需要做一些修复以使其编译 C++ 11 代码。我们通过 "Properties → C/C++ General → Preprocessor Include Paths, Macros etc." 页面执行此操作。一切正常,运行良好。

我们使用相同版本的 Linux 创建了新的 Linux 虚拟机。我们安装了 Eclipse (Oxygen) 并安装了 CDT 插件。我们遵循与上述相同的所有步骤,除了在这些新 VM 中,“属性”对话框中没有 "C/C++ General → Preprocessor Include Paths, Macros etc." 选项。我们可以获得编译为 C++ 11 的代码,但是 IDE 本身不识别 C++ 11 并将大部分代码标记为错误。如果我们有 "Preprocessor Include Paths, Macros etc." 页面,我们可以进行必要的更改,但对于我们来说,我们无法弄清楚为什么它没有出现在新的 VM 中。两个 Eclipse 安装具有相同的插件(一个,即 CDT)。

有什么我们遗漏的吗?是否有其他方法可以访问缺失页面允许的选项?

更新 也许一些视觉会有所帮助。这是在原始 Linux VM 上打开时属性页面的样子:

在新 VM 中打开“属性”页面时如下所示:

如您所见,在第二张图片中,"C/C++ General" 下方没有 "Preprocessor Include Paths, Macros, etc." 选项。那就是问题所在。如果没有该页面,我们就无法对项目做几件事来使其正常运行。

我真的不能为我们解决这个问题感到自豪。可用的 Eclipse 版本是 Oxygen.1a Release (4.7.1a)。 Eclipse 的 "latest and greatest" 版本(当时)是 Oxygen.2 版本 (4.7.2)。我们下载并安装了 4.7.1a,它运行良好。 4.7.2 中一定存在缺陷,无法正确识别 C++ 11 代码。

Oxygen.1a 4.7.1a 完美地导入项目并显示我们进行更改和让应用程序编译和 运行 正确所需的所有选项。