gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:02 27 4
gpt4 key购买 nike

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

现在我遇到一个问题,Eclipse 可以解析代码中的宏和函数,但不能解析数据结构或枚举。请注意我只关心浏览/编辑代码。我将在 Eclipse 之外编译该项目。我还应该提到,Eclipse 可以毫无问题地解析标准 C 库中的任何内容。我看到这是一个常见问题,但这在此处不是问题。

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

  • 整个代码库加载到 Eclipse 中。
  • 我可以从 Eclipse 启动最终应用程序并在控制台中与其交互。
  • 索引器已启用,它被设置为索引未包含在构建中的源文件、未使用的 header ,并且不跳过任何内容。我已经运行了几次索引器。我还尝试关闭/重新打开项目并重新启动 Eclipse。
  • 我将包含项目头文件的目录添加到“属性”->“路径和符号”->“包含”。我在 Project Explorer 的“Includes”下看到了这个目录。

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

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

更新

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

最佳答案

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

索引器无法找到的枚举和宏在这些语句中。

一旦我打开 Properties->C/C++ General->Paths and Symbols->Symbols 并定义了几个关键宏,索引器就能够找到丢失的符号。

关于c - Eclipse CDT 可以解析宏和函数,但不能解析结构或枚举(仅限代码浏览),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20051752/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com