Error: 'DT_ Dir' not declared (first used in this function) | ‘DT_DIR’未声明(在此函数内第一次使用) 解决办法

/ 2021-06-17 / 100 Words/has been Read   Times


在编写Linux系统下执行的C语言文件时报错

错误:‘DT_DIR’未声明(在此函数内第一次使用)

img

解决办法: #

需要事先导入对应的依赖

#include <sys/types.h>
#include <dirent.h>
#include <stdlib.h>
#include <errno.h>

然后在编译的时候加上 -D_BSD_SOURCE[1] ,即只需要在我上面的指令基础上变成

gcc difftree.c -lpthread -D_BSD_SOURCE  -o difftree.sh --std=c99

然后就能成功编译了

img

上面指令的-lpthread是因为使用的编译器版本的for循环不支持将int型变量定义在括号内的情况,需要指定编译器的版本才能成功进行编译。这里选择的是最新的编译器版本C99。

参考 #

  1. ^ https://www.it1352.com/369511.html

Last modified on 2021-06-17