为什么 Eclipse CDT 索引器没有索引正确的配置?

Why doesn't Eclipse CDT Indexer index the right configuration?

使用最近的 ARM Development Studio (DS) 版本 (v2019.a_1) 中的 Eclipse CDT,我从以前的安装 (DS-5 v5.26.2) 导入了我的项目设置。该项目由多种配置组成,适用于一个芯片系列中的各种芯片。差异主要是一些包含路径和一些宏符号。配置以芯片编号命名,例如 XYZ001XYZ007

在代码树中,有特定于单个芯片的目录,因此只能包含在特定配置中。因此,对于每个配置,路径列表包含相关芯片的变体,例如 Core/XYZ003/Include/regs.h.

此外,在 Project Explorer 视图中,我从配置中排除了不属于它们的目录和文件。

在我将我的 DS 安装更新到 2019 版本之前,这在很长一段时间内都运行良好。现在,有一个特定的配置 XYZ002,它被视为 XYZ007。包含和排除的资源匹配错误的配置,结果,我在编辑器视图中收到多个错误指示,其中包含无法解析的符号。此外,当使用 F2F3 键时,环境无法找到所选符号的定义。

有一个生成索引器解析器日志文件的选项,我使用了它,在文件的开头,我看到:

Build Configuration:   XYZ007

而不是预期的:

Build Configuration:   XYZ002

我多次尝试来回切换配置并重建索引。还尝试重命名有问题的配置,并基于该配置创建一个新配置,但这没有帮助。

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

在 IDE 花了更多时间后,我找到了问题的根源。在全局索引器首选项页面(Window -> Preferences -> C/C++ -> Indexer),应该 select Use active build configuration 而不是 Use the build configuration specified in the project's indexer settings