【发布时间】:2015-07-07 14:08:42
【问题描述】:
我有一个项目有几十个源模块和几十个头文件,有些是嵌套的。使用 ARM 的 Eclipse for DS-5 时,我从索引器收到错误指示,但编译器却没有。
IDE 抱怨静态库的源模块之一中的 FALSE 宏未定义。但是,它确实编译正常。
在同一个代码库(另一个静态库)上的第二个项目中没有这样的问题。
在整个工作区中搜索此宏的多个标题中有多个定义。如何追踪代码中生效的具体定义是哪一个?
注意 - 我发现 this similar question 关于 MSVS 和一个很好的技巧作为答案,但是在 Eclipse 中是否有直接的方法来实现这一点?
【问题讨论】:
-
出了什么问题:find
-name '*.h' -exec grep -h define.*FALSE {} \; :) -
@BrianMcFarland - 这是 Eclipse 吗?这个 Windows 兼容吗?
-
@BrianMcFarland - 另外,这是否找到适用于特定参考的特定定义?我不这么认为。
-
不,不,不。这是一个笑话,因此
:),虽然我可以看到它是如何在{} \;中丢失的 -
@BrianMcFarland -
:)点...至于 Cygwin - 您是否计算了时间基准中下载/安装/学习/使用的时间;-)。无论如何 - 正如我在之前的评论中提到的,当嵌套标题中有多个定义时,使用grep来计算具体定义可能会成为一个严肃的 PITA。
标签: c++ c macros eclipse-cdt ds-5