Gcc错误:' NULL'和' stderr'未申报

时间:2017-06-23 15:13:09

标签: gcc

我使用gcc 4.6.0 for armv7。今天我需要编译这个来源:

#include <sys/types.h>
#include <dirent.h>
int main(void)
{
    DIR *dir = opendir(".");
    if(dir)
    {
        struct dirent *ent;
        while ((ent = readdir(dir)) != NULL)
        {
            puts(ent->d_name);
        }
    }
    else
    {
        fprintf(stderr, "Error opening directory\n");
    }
    return 0;
}

编译时出现了这样的错误:

  

test.c:在函数&#39; main&#39;:test.c:10:3​​1:错误:&#39; NULL&#39;未申报   (首次使用此功能)test.c:10:31:注意:每个未声明   标识符仅针对其出现的每个函数报告一次   test.c:17:1:警告:内置的不兼容的隐式声明   功能&#39; fprintf&#39; [默认启用] test.c:17:9:错误:&#39; stderr&#39;   未申报(首次使用此功能)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

添加以下内容:

#include <stdio.h>