在编译一些二进制文件时,我收到了许多这样的警告:
warning: incompatible implicit declaration of built-in function ‘strcpy’
warning: incompatible implicit declaration of built-in function ‘strlen’
warning: incompatible implicit declaration of built-in function ‘exit’
为了解决这个问题,我添加了
#include <stdlib.h>
在与此警告关联的C文件的顶部,除了使用以下标志进行编译外:
CFLAGS = -fno-builtin-exit -fno-builtin-strcat -fno-builtin-strncat -fno-builtin-strcpy -fno-builtin-strlen -fno-builtin-calloc
我使用的是GCC 4.1.2:
$ gcc --version
gcc (GCC) 4.1.2 20080704
我应该做些什么来解决这些警告?
发布于 2014-03-29 02:06:12
我在mempcpy
函数上遇到了这些警告。手册页上显示此函数是GNU扩展,摘要显示:
#define _GNU_SOURCE
#include <string.h>
当在#include
之前将#define
添加到我的源代码中时,GNU扩展的声明会变得可见,警告也会消失。
https://stackoverflow.com/questions/977233
复制相似问题