undefined reference to `strlwr'
Solution 1:
strlwr()
is not standard C function. Probably it's provided by one implementation while the other compiler you use don't.
You can easily implement it yourself:
#include <string.h>
#include<ctype.h>
char *strlwr(char *str)
{
unsigned char *p = (unsigned char *)str;
while (*p) {
*p = tolower((unsigned char)*p);
p++;
}
return str;
}