Eclipse CDT可以解析宏和函数,但不能解析结构或枚举(仅限代码浏览)

时间:2013-11-18 15:40:44

标签: c eclipse eclipse-cdt

我正在开发一个大型C项目(多个makefile,修改过的第三方代码等),我想将Eclipse用作GDB的图形前端以及浏览/编辑代码。

现在我有一个问题,Eclipse可以解析代码中的宏和函数,但不能解析数据结构或枚举。请注意我只关心浏览/编辑代码。我将在Eclipse之外编译项目。我还要提一下,Eclipse可以解决标准C库中的任何问题。我认为这是一个常见的问题,但这不是问题。

到目前为止,我已经完成了以下工作:

  • 将整个代码库加载到Eclipse中。
  • 我可以从Eclipse启动最终应用程序并在控制台中与它进行交互。
  • 启用了索引器,它设置为索引未包含在构建中的源文件,未使用的标头,以及不跳过任何内容。我已经运行了几次Indexer。我也试过关闭/重新打开项目并重新启动Eclipse。
  • 我将包含项目头文件的目录添加到Properties-> Paths and Symbols-> Includes。我在Project Explorer中的“Includes”下看到了这个目录。

如果我正在浏览源文件,我可以右键单击并选择“打开声明”以查看宏定义和函数定义,即使这些定义在其他文件中也是如此。这不适用于数据结构或枚举。 Eclipse报告类型“StructureX”无法解析?

我需要做什么才能解析数据结构?

更新

我刚看了一下parser.log文件。我看到“尝试使用符号失败:”对于Eclipse无法解析的结构和枚举成员,但我没有看到原因。

1 个答案:

答案 0 :(得分:2)

奇怪的是,我找到了答案,因为默认的配色方案困扰着我。当我切换到更舒缓的黑色背景时,我注意到Eclipse认为所有#ifdef DEFINE_NAME_X宏都未定义。

Indexer无法找到的枚举和宏都在这些语句中。

一旦我打开属性 - > C / C ++一般 - >路径和符号 - >符号并定义了几个关键宏,索引器就能找到缺失的符号。