6

我正在使用 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);
}

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

我正在使用 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

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

4

2 回答 2

16

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

于 2012-12-27T06:10:50.760 回答
1

包括标题 strings.h 而不是 string.h..

于 2012-12-27T10:16:22.737 回答