c - Eclipse 符号无法解析

标签 c eclipse enums

我定义了这两个枚举:

typedef enum {
  PBUF_TRANSPORT,
  PBUF_IP,
  PBUF_LINK,
  PBUF_RAW
} pbuf_layer;

typedef enum {
  PBUF_RAM, /* pbuf data is stored in RAM */
  PBUF_ROM, /* pbuf data is stored in ROM */
  PBUF_REF, /* pbuf comes from the pbuf pool */
  PBUF_POOL /* pbuf payload refers to RAM */
} pbuf_type;

像这样使用

p = pbuf_alloc(PBUF_RAW, PBUF_LEN_MAX, PBUF_POOL);

包含 .h 文件:

#include "src/include/lwip/pbuf.h"

编译时控制台没有错误,但是eclipse IDE却显示

"Symbol 'PBUF_POOL' could not be resolved cpswif.c /AM3359LWIPLibrary/cpsw/netif line 549 Semantic Error "

"Symbol 'PBUF_RAW' could not be resolved cpswif.c /AM3359LWIPLibrary/cpsw/netif line 549 Semantic Error"

.h 文件中包含的所有其他变量和函数似乎都可以正常工作,但这两个则不然。可能是什么问题?

最佳答案

最佳猜测:Eclipse 中的代码检查器失败。我知道这很烦人,但如果没有编译错误,你就必须让他们这么做。 更多信息:CDT(Eclipse for C/C++ 插件)有一个名为 Codan(代码分析)的框架,它会尽可能检查语法和语义错误。为此,它使用已解析的代码(CDT 有一个自己的解析器,并且不使用您选择的解析器,因此速度更快,因为您并不总是希望编译代码以在 Eclipse 中查看语法错误)并执行一些检查。但 Codan 确实有很多问题,我自己也经历过,只有一些错误标记是你无法摆脱的。有时重新启动 Eclipse、清理工作区(菜单 Project⇒clean)会有所帮助,但大多数情况下,如果不更改显示错误的某些代码、保存它、构建它、再次删除它并再次保存并构建,您就无法摆脱它们。这至少有时对我有帮助。 我知道这太可怕了。

关于c - Eclipse 符号无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26883008/

相关文章:

eclipse - 如何加载 Hibernate import.sql?

安卓。在真实设备上调试 (Nexus 7)

android - 如何在 galaxy trend plus gt s 7580 上运行 eclipse 项目

Python Flask RestPlus 枚举类型

将整数值转换为十六进制字符串

c - 指向变量与数组的外部指针

java - 特定于枚举常量的类主体是静态的还是非静态的?

java - 有没有办法让 SonarQube 只警告不完整的 Switch 语句?

c - C中的动态大小数组

c - 我刚刚开始学习C : Can someone explain what the pointers and typecasting are doing in this code?