首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >警告:内置函数‘xyz’的隐式声明不兼容

警告:内置函数‘xyz’的隐式声明不兼容
EN

Stack Overflow用户
提问于 2009-06-10 18:01:50
回答 1查看 397K关注 0票数 170

在编译一些二进制文件时,我收到了许多这样的警告:

代码语言:javascript
复制
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’

为了解决这个问题,我添加了

代码语言:javascript
复制
#include <stdlib.h>

在与此警告关联的C文件的顶部,除了使用以下标志进行编译外:

代码语言:javascript
复制
CFLAGS = -fno-builtin-exit -fno-builtin-strcat -fno-builtin-strncat -fno-builtin-strcpy -fno-builtin-strlen -fno-builtin-calloc

我使用的是GCC 4.1.2:

代码语言:javascript
复制
$ gcc --version
gcc (GCC) 4.1.2 20080704

我应该做些什么来解决这些警告?

EN

回答 1

Stack Overflow用户

发布于 2014-03-29 02:06:12

我在mempcpy函数上遇到了这些警告。手册页上显示此函数是GNU扩展,摘要显示:

代码语言:javascript
复制
#define _GNU_SOURCE
#include <string.h>

当在#include之前将#define添加到我的源代码中时,GNU扩展的声明会变得可见,警告也会消失。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/977233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档