Symbol _ac_power multiply defined (by sys_lcd_gui_argb32.o and main.o) 变量重复定义问题

.\obj\F1C100S.axf: Error: L6200E: Symbol _ac_power multiply defined (by sys_lcd_gui_argb32.o and main.o).
.\obj\F1C100S.axf: Error: L6200E: Symbol _acbmp multiply defined (by sys_lcd_gui_argb32.o and main.o).

在使用keil软件仿真时,出现如上报错,原因如下:

变量_ac_power和_acbmp是在.h文件中定义,当这个.h文件被两个或两个以上的文件包含时,就会出现重复定义问题。

解决方法:

(1)变量在.h文件中定义,在第二个.h文件中声明,然后在.c文件中包含第二个.h文件;

(2)变量在.c文件中定义,然后在.h文件中加extern声明,然后在被引用的.c文件中包含第.h文件;

(3)变量在.h文件中定义,在被引用的文件中加extern声明。

猜你喜欢

转载自blog.csdn.net/liuyi1591537136/article/details/106382244
今日推荐