作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编译一个 C 库,使用 C99 .我将 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
是什么原因造成的,我该如何解决?
最佳答案
这些函数在 strings.h
中声明,而不是在 string.h
中声明。
关于c - 函数的隐式声明 ‘str[n]casecmp’ [-Werror=implicit-function-declaration],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14050183/
我正在编译一个 C 库,使用 C99 .我将 string.h 包括到我的翻译单元中(我可以在我的 NetBeans IDE 中导航到 str?casecmp 函数的定义。 来源看起来像这样: #in
我是一名优秀的程序员,十分优秀!