函数'str [n] casecmp'的隐式声明[-Werror = implicit-function-declaration]

Hom*_*lli 3 c gcc c99

我正在使用C99编译C库.我将string.h包含在我的翻译单元中(我可以导航到netbeans IDE中str?casecmp函数的定义.

源代码看起来像这样:

#include <string.h>

int foo(char* c1, char* c2){
   return strcasecmp(c1,c2);
}


int foobar(char* c1, char* c2, int n){
   return strncasecmp(c1,c2,n);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译时,我得到标题中显示的错误.

我使用的是gcc 4.6.3版本(Ubuntu/Linaro 4.6.3-1ubuntu5).

这是我的gcc命令的样子:

gcc    -c -g -Werror -DE4C_THREADSAFE -DLINUX_BUILD -I../include -I../genutils -std=c99 -fPIC  -MMD -MP -MF build/Debug/GNU-Linux-x86/btypes.o.d -o build/Debug/GNU-Linux-x86/btypes.o btypes.c
Run Code Online (Sandbox Code Playgroud)

造成这种情况的原因是什么,我该如何解决?

Rom*_*nko 11

这些函数是声明的strings.h,而不是string.h.