Keil警告和错误语句与消除方法笔记

遇到的keil相关错误,警告内容在这里进行更新


Warning:


#1-D: last line of file ends without a newline 文件最后一行不是新行


解决:保证文件最后一行什么符号也没有。


 #167-D: argument of type "x" is incompatible with parameter of type "xxx"   类型“x”的参数与类型“xxx”的参数不兼容


解决:之所以是警告多是因为虽然声明的参数不同但是依然可以兼容,例如说char型和uint8都是8位的1字节的数据,按照需求进行更改


#177-D: variable ""  was declared but never referenced  变量""声明了但是从未引用过


解决:删除这个变量,但有时候是因条件(比如if)赋值时候才使用到的变量也可能会产生这一句警告。


 #940-D: missing return statement at end of non-void function "xxxx"  没有返回值


解决:检查并在所指出的函数中添加返回值语句,通常是编写程序时候设定了返回类型但是没有设定返回值,需要注意的是这个问题有时候会导致建立文件时产生错误。




Error:


L6200E: Symbol xxx multiply defined    符号xxx多重定义



解决:这个问题困扰了一个上午,用了各种排除法,注释法来确定到底是哪里出错。先是注释掉了所有在其他文件中对这个函数的引用,然后试着新建一个文件,重新放入函数,重写的文件就没有出错,但是只要是在这个文件中定义函数无论是否引用就都会出现错误,最后发现是有个include写错了,写成了include "xxxx.c",导致一直出现这样一个警告。



#159: declaration is incompatible with previous "xxxxx"  


解决:这个问题由在文件中调用某个函数,但是在调用语句之后才声明函数导致,向头文件添加声明,或者在使用该函数语句前声明这一个函数


#114: function "xxx" was referenced but not defined


解决:去除发生错误的这个函数.c和.h文件的static静态声明


你可能感兴趣的:(日常问题,Keil,Warning,Error)