代码之家  ›  专栏  ›  技术社区  ›  SunnyShah

Eclipse CDT不在#if SYMBOL#endif之间索引代码

  •  0
  • SunnyShah  · 技术社区  · 14 年前

    2 回复  |  直到 14 年前
        1
  •  2
  •   Kos    14 年前

    不确定你建议的解决方案,但还有一个:

    打开项目的属性,转到 C/C++ General Path and Symbols -> Symbols ,确保 Configuration 设置为 All configurations 然后添加您想要定义的任何预处理器符号。

        2
  •  0
  •   Osama F Elias    7 年前

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=240194#c1

    例如,如果在索引“如果调试”中存在问题,那么索引结果将取决于如何定义调试。

    这实际上取决于调试宏的定义:

    #define DEBUG--->//语法错误(#如果没有表达式)

    #define DEBUG 1--->//ok,选择if branch(#if 1)

    #define DEBUG 0--->//ok,选择else分支(如果0)

    #undef DEBUG--->//ok,选择else分支(如果调试)

    您可能应该改用ifdef DEBUG。

    或者可以定义DEBUG=1。

    转到项目-& gt;设置-gt;C/C++ ++ -gt;预处理器包括->条目。

    在“设置条目”下,选择“CDT用户设置条目”。

    然后“添加…”

    然后选择“预处理器宏”并添加名称和值。