我定义了这两个枚举:
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/