Keil安装包及扩展包:v5.23
编译程序时提示如下图:
Error:L6218E: Undefined symbol xxxxx
意思为:Rs485_send_buf这个数组没有定义就使用了。
实际上在头文件已经定义了,并且该头文件也被调用了,程序如下:
extern void Rs485_send_buf[8];
但是这样的定义不行!
解决措施:
在头文件上方添加如下程序:
#ifdef CAN_PC_GLOBAL
#define CAN_PC_EXT
#else
#define CAN_PC_EXT extern
#endif
然后在对应的源文件的第一行(包含头文件之前)添加如下程序:
#define CAN_PC_GLOBAL
最后编译,该问题便解决了。