如何查找项目中定义宏的位置?

ysa*_*sap 3 c c++ macros eclipse-cdt ds-5

我有一个包含数十个源模块和数十个头文件的项目,其中一些是嵌套的。使用 ARM 的 Eclipse for DS-5 时,我从索引器中收到错误指示,但没有从编译器中收到错误指示。

IDE 抱怨FALSE静态库的源模块之一中的宏未定义。不过,它确实编译正常。

在同一代码库(另一个静态库)上的第二个项目中不存在这样的问题。

搜索整个工作区,可以在该宏的多个标题中找到多个定义。如何追踪代码中生效的具体定义是哪一个?

注意 - 我发现了有关 MSVS 的类似问题和一个很好的技巧作为答案,但是有没有直接的方法可以在 Eclipse 中实现此目的?

ysa*_*sap 5

好的,我找到了答案:

  1. 选择宏
  2. 右键单击并选择“探索宏扩展”(或Ctrl+ =
  3. 在打开的对话框窗口中,单击底部“打开声明”按钮

声明位置现在在编辑器中打开。