У меня есть программа, которую я сделал, модифицируя многие места из оригинального даркнета (глубокое распознавание образов, Yolov2). Я использовал его несколько месяцев назад, но сегодня, когда я его скомпилировал, он выдал ошибку ниже:
gcc -DSAVE_LAYER_INPUTS -DSAVE_INPUTS_LAYER_START=31 -DSAVE_INPUTS_LAYER_END=31 -DPRINT_INOUT -Wall -Wfatal-errors -O3 -ffast-math -c ./src/convolutional_layer.c -o obj/convolutional_layer.o
In file included from ./src/convolutional_layer.c:463:
/usr/include/sys/stat.h: In function 'forward_convolutional_layer':
/usr/include/sys/stat.h:456: error: nested function 'stat' declared 'extern'
Я использовал stat.h, чтобы проверить, существует ли каталог, а если нет, чтобы его создать. Эта ошибка возникает в строке #include и внутри файла stat.h. Я посмотрел в stat.h, но не могу сказать, что не так. stat.h выглядит следующим образом (я показал, какая из них является строкой 456.)
#if defined __GNUC__ && __GNUC__ >= 2 && defined __USE_EXTERN_INLINES
/* Inlined versions of the real stat and mknod functions. */
__extern_inline int
__NTH (stat (__const char *__path, struct stat *__statbuf))
{ // <=== line 456
return __xstat (_STAT_VER, __path, __statbuf);
}
__NTH просто добавляет атрибут о броске. В чем проблема? (с использованием gcc 4.4.7 на CentOS 6.9)