【转】implicit declaration of function 这种警告问题的原因及解决方法

在改掉所有的warning时老报一个implicit declaration of function 的警告错误,上网查了下原因,原来有两种情况会产生这种情况

1  没有把函数所在的c文件生成.o目标文件
2  在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明

http://blog.chinaunix.net/uid-21558711-id-34462.html

时间: 2024-10-11 12:49:37

【转】implicit declaration of function 这种警告问题的原因及解决方法的相关文章

关于"implicit declaration of function 'gettimeofday' is invalid in c99"的解决

http://blog.csdn.net/macmini/article/details/10503799 当我们使用 gettimeofday(&time, NULL);时,会出现这样一个WARNING Implicit declaration of function 'gettimeofday' is invalid in C99 而经过搜索之后发现只需加入 #include <sys/time.h> 这个头文件即可 关于"implicit declaration of

xCode中去除“Implicit declaration of function &#39;sysctl&#39; is invalid in C99” 警告

http://blog.csdn.net/dreambegin/article/details/8609121 一般出现该问题是因为通过C调用了unix/linux 底层接口,所以需要调整c语言的编译选项,设置方法见下图:(根据实际情况选择相应的编译选项) xCode中去除"Implicit declaration of function 'sysctl' is invalid in C99" 警告

linux系统下,警告:warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration] 和 warning: the `gets&#39; function is dangerous and should not be used. 的由来和解决方法。

字符数组 的英文名字是 char [] gets()函数的基本用法为:char *gets(char *s); 该函数的参数是一个字符数组,该函数的返回值也是一个字符数组. linux下的代码如下: 1 #include <stdio.h> 2 3 int main() 4 { 5 char a[100] = { 0 }; 6 gets(a); 7 printf("%s\n", a); 8 return 0; 9 }-----------------------------

Implicit declaration of function &#39;ether_ntoa&#39; is invalid in C99

报错代码: strcpy(temp, (char *)ether_ntoa(LLADDR(sdl))); 解决方法: 导入这三个头文件即可, #include <sys/types.h> #include <sys/socket.h> #include <net/ethernet.h> 然后上面那行代码会有一个警告:"Incompatible pointer types passing 'caddr_t' (aka 'char *') to parameter

warning: control reaches end of non-void function 和 warning: implicit declaration of function &#39;rsgClearColor&#39; is invalid in C99

用gcc编译一个程序的时候出现这样的警告: warning: control reaches end of non-void function 它的意思是:控制到达非void函数的结尾.就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值.这时候,最好检查一下是否每个控制流都会有返回值. <Android应用性能优化> p202 hellorendering.rs 文件: #pragma version(1) #pragma rs java_package_name(com.len

warning: implicit declaration of function &#39;func1&#39; [-Wimplicit-function-declaration]

warning: implicit declaration of function 'func1' [-Wimplicit-function-declaration] 这个警告是因为func1函数所在的 .h 文件没有生成对应的 .o 文件,即函数所在文件没有编译.解决办法就是加上include. 如果函数func1与主函数在同一文件下,注意函数引用与函数声明的顺序. 如图所示,加引用函数之前声明,或者直接将所调用函数直接放在引用之前都可以. warning: implicit declarat

Implicit declaration of function &#39;CC_MD5&#39; is invalid in C99

//导入这个就行了#import <CommonCrypto/CommonDigest.h> //没有导包的时候,提示如下: Implicit declaration of function 'CC_MD5' is invalid in C99 CC_MD5( cStr, strlen(cStr),result); Implicit declaration of function 'CC_MD5' is invalid in C99,布布扣,bubuko.com Implicit declar

解决编译错误 implicit declaration of function &#39;strptime&#39;

根据man手册,在文件中加上以下定义,应该可以去处该warning #define _XOPEN_SOURCE /* glibc2 needs this */ #include 但不起作用(重新编译还是有该warning) 加上编译选项-D_XOPEN_SOURCE又出现一大推其他编译错误 最后在找到这篇帖子 http://stackoverflow.com/questions/15334558/compiler-gets-warnings-when-using-strptime-functio

error: two or more data types in declaration specifiers原因及解决方法

编译时报错: [plain] view plaincopyprint? error: <strong>two or more data types in declaration specifiers</strong> error: two or more data types in declaration specifiers 原因可能有两个: 1. 少了一个分号";",比如定义一个结构体时,在最后忘了加分号. 解决方法:加上分号即可. 2. 重复定义,比如:a