Заголовочный файл с FNM_EXTMATCH

Все идет хорошо с этим утверждением:

fnmatch(pattern, href, FNM_EXTMATCH);

когда я заказываю заголовочные файлы, как показано ниже:

#include <fnmatch.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "link.h"

Но gcc говорит, что FNM_EXTMATCH не определен, когда я заказываю заголовочные файлы, как показано ниже:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fnmatch.h>
#include "link.h"

Так где же конфликт?

1 ответ

FNM_EXTMATCH это расширение GNU. Если вы хотите использовать его, поставьте

#define _GNU_SOURCE

в верхней части вашего файла (перед любым #include заявления). Однако обратите внимание, что он не будет переносимым на системы без GNU - без gcc и glibc.

Другие вопросы по тегам