Közben találtam valamit, amit szintén nem tudtam eddig:
NAME
strcasecmp, strncasecmp - compare two strings ignoring case
SYNOPSIS
#include <strings.h>
int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char *s1, const char *s2, size_t n);
Én ennek a strings.h-nak a létezéséről sem tudtam. De úgy látszik a libzip fejlesztői sem:
/usr/local/src/libzip-1.6.1/lib/zip_name_locate.c: In function ‘_zip_name_locate’:
/usr/local/src/libzip-1.6.1/lib/zip_name_locate.c:65:34: error: ‘strcasecmp’ undeclared (first use in this function)
cmp = (flags & ZIP_FL_NOCASE) ? strcasecmp : strcmp;
Ez valami külön jócselekedet lehet a RedHat részéről, hogy kikényszerítik a szabványos strings.h használatát.
Illetve, ha __USE_GNU van érvényben, akkor a sima string.h is deklarálja ezt a két függvényt.
Szerk: Oké, ez csak előző adásunk ismétlése: a `cmake` -t az olyan világi hívságok, mint CPPFLAGS nem érdeklik.