【问题标题】:Unable to resolve identifier on netbeans无法解析 netbeans 上的标识符
【发布时间】:2011-06-01 09:59:04
【问题描述】:

我在 netbeans 上不断收到“无法解析标识符文件”的消息。 我是c和netbeans的新手。 昨晚还好,但不知何故重新启动我的电脑后,这条消息一直出现。 这是一个代码。会有什么问题?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char** argv) {
  char filename[] = "text.dat";
  char line[5];
  FILE *file = fopen(filename, "r");
  return 0;
}

【问题讨论】:

  • 您是否在代码示例的末尾缺少“return 0; }”,或者这是问题所在?
  • 我已经有了那只是代码错误编辑的一部分
  • 只有 FILE *file 有下划线和 !在行号列上。我以前用 cygwin 编译,但不知何故今天早上它不起作用,所以我安装了 MinGW。

标签: c netbeans identifier


【解决方案1】:

我知道这是一篇旧帖子,但我今天遇到了同样的问题。不要太快假设编译器提供的头文件有缺陷。这种情况很少发生,尤其是对于像 stdio.h 这样已经存在很长时间的头文件。

请记住,Netbeans 代码帮助引用了源代码中使用的包含。编译器使用的任何宏都必须定义为 Netbeans。诸如 stdio.h 之类的文件可能具有基于一个或多个宏的条件包含。除非 Netbeans 知道这些宏,否则它在处理包含文件以提供代码帮助时无法应用它们。这将阻止加载包含符号的条件标头。

例如,今天我看到我使用的包含文件有许多条件包含,并且 Netbeans 报告它无法解析的符号是在这些文件中定义的。知道我正在为特定的处理器构建,我确定了将正确文件包含在 .然后我在项目属性/代码辅助/C 编译器/预处理器定义中定义了该宏。那时,Netbeans 能够解析符号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多