我一直在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;
}
答案 0 :(得分:6)
我知道这是一篇旧帖子,但今天我遇到了同样的问题。假设编译器提供的头文件有缺陷,请不要太快。这种情况很少发生,特别是对于像stdio.h这样已经存在很长时间的标题。
请记住,Netbeans代码帮助引用了源代码中使用的包含。必须将编译器使用的任何宏定义到Netbeans。诸如stdio.h之类的文件可以具有基于一个或多个宏的条件包括。除非Netbeans知道这些宏,否则当它处理包含文件以提供代码帮助时,它们无法应用它们。这样可以防止加载包含符号的条件头。
例如,今天我看到我使用的包含文件有许多条件包含,Netbeans报告无法解析的符号在这些文件中定义。知道我正在为特定的处理器构建,我确定了包含在其中的正确文件所需的宏。然后我在Project Properties / Code Assistance / C Compiler / Preprocessor Definitions中定义了该宏。那时Netbeans能够解析这些符号。