Как использовать strcasestr()?

I #include <string.h>, но когда я вызываю strcasestr(src, search);, я получаю следующее сообщение об ошибке implicit declaration of function ‘strcasestr’. как скомпилировать: gcc-4.6 -Wall -lsqlite3 -lunac -Werror -O2 -o foo.out foo.c как это исправить? Спасибо заранее.

Ответ 1

Как указано в соответствующей man-странице, поскольку strcasestr является нестандартным расширением, вы должны #define _GNU_SOURCE перед #include <string.h> перед любым #include (другие файлы могут уже включать <string.h>, благодаря @Cubbi для указания этой потенциальной проблемы).

Ответ 2

Вы должны добавить:

#define _GNU_SOURCE

до включения string.h, так как функция нестандартная.