在使用keil编译时,常见的一种错误就是: error: identifier "XXXXX" is undefined,错误的意思是标示符“XXXXX"未定义,这个错误我遇到的以下几种原因:
(1)“XXXXX”确实没定义,或者定义了,但是在书写的时候,写错了。
(2)“XXXXX”确实定义了,但不是在引用的文件中定义的,这个需要在定义文件对应的头文件中再声明一下:extern 类型 XXXXX
(3) "XXXXX"定义了,也在对应的头文件中声明了,但是引用的文件中没有引用对应的头文件。
(4)“XXXXX”定义了,也在对应的头文件中声明了,在引用的文件中也引用了对应的头文件,这个就非常奇怪了,后来遇到了一种情况就是,这个声明头文件有问题,一般头文件开头,都要使用#ifndef __XXXX_H #define __XXXX_H,这样做的目的是为了防止多个头文件的存在,需要注意的是这里的__XXXX_H中的XXXX一定要跟这个头文件的名称一致,否则,这个头文件就是失败的,错误的,那么引用的时候,自然也会引用错误了。