2011-06-01 86 views
5

我一直在NetBeans上收到「無法解析標識符文件」消息。 我是c和netbeans中的新成員。 昨晚很好,但不知怎的,重新啓動我的電腦後,這個消息一直髮生。 這是一個代碼。會有什麼問題?無法解析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

您是否在代碼示例末尾缺少「return 0;}」,或者說是否出現問題? – 2011-06-01 10:00:50

+0

我已經有這只是一部分代碼虐編輯 – Max 2011-06-01 10:10:04

+0

只有文件*文件加下劃線和!在行號列上。我曾經用cygwin編譯過,但不知何故今天早上它不工作,所以我安裝了MinGW。 – Max 2011-06-01 10:12:34

回答

5

我知道這是一箇舊帖子,但今天我遇到了同樣的問題。不要太快以至於認爲編譯器提供的頭文件有缺陷。這種情況很少出現,特別是對於stdio.h這樣的標題已經存在很長時間了。

請記住,Netbeans代碼援助引用您的源代碼中使用的包括。編譯器使用的任何宏必須定義爲Netbeans。諸如stdio.h之類的文件可能具有基於一個或多個宏的條件包含。除非Netbeans知道這些宏,它在處理包含文件以提供代碼幫助時不能應用它們。這將防止包含符號的條件標題被加載。

例如,今天我看到我使用的包含文件有很多條件包含,並且Netbeans報告它無法解析的符號在這些文件中定義。知道我正在爲特定的處理器構建,我確定了將正確的文件包含在內所需的宏。然後我在Project Properties/Code Assistance/C Compiler/Preprocessor Definitions中定義了這個宏。那時Netbeans能夠解決這些符號。

相關問題