Eclipse - 如何定义宏(不仅仅是符号)以解析为空

Eclipse - how to define macros (not merely symbols) to resolve to empty

Qt-specific 宏破坏了我的 Eclipse C++ 索引。

在我的 Qt 类 中,我会有这样的东西:

Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)

出于索引的目的,我希望 Q_PROPERTY() 解析为空语句,这意味着我想要

#define Q_PROPERTY() /* blank */

我知道如何使用 Eclipse 将宏解析为简单值:

C/C++ General > Paths and Symbols > Symbols

问题

在 Eclipse 中,即不创建单独的 header,我只包含它用于索引,是否可以定义宏来解析其他内容(在我的例子中 "empty")?

您可以在 C/C++ General > Paths and Symbols > Symbols 中定义对象样式和函数样式的宏。

例如定义你想要的

#define Q_PROPERTY() /* blank */

宏,在"Add symbol"对话框中,在"Name"下输入Q_PROPERTY(),在"Value"下输入/* blank */

请注意,如果您的意图是 CDT 忽略 Qt Q_PROPERTY 声明,您实际上需要 Q_PROPERTY(...) 作为名称,因为宏接受参数(Q_PROPERTY() 只会匹配没有参数的宏调用)。