头文件顺序调换编译出错、添加头文件后仍然报错

第一次看到下划线的地方报错,以为是头文件没有包含,导致未定义错误,后来发现头文件添加后错误依然存在。

void five_key_air_dev_fun_exec_fan(void)
{
	device_hac_cfg_type_def  *device_hac_cfg_ptr;
	gui_draw_hac_pib_t  *draw_hac_pib_ptr;
	
	draw_hac_pib_ptr  = &s_draw_hac_pib_rect;
	
	 device_hac_cfg_ptr = dev_hac_cfg_get();
	 if(draw_hac_pib_ptr->air_temp >= draw_hac_pib_ptr->set_temp) //ζȴﵽÉ趨ζȹطç¹Ø·§
	 {
		 if(device_hac_cfg_ptr->ventilate_on_off)
		 {														
			 device_hac_cfg_ptr->fan_operation_state = 0; //¹Ø·ç
		 }
		 device_hac_cfg_ptr->pipe_state = AIR_CLOSE_PIPE; //¹Ø·§
	 }
	 else 
	 {
		 device_hac_cfg_ptr->fan_operation_state = draw_hac_pib_ptr->fan_level; //ËÍ·ç
		 device_hac_cfg_ptr->pipe_state = AIR_FAN_PIPE; //¿ª·§
	 }

}

头文件#include "win_rect.h"如下:

头文件顺序调换编译出错、添加头文件后仍然报错_第1张图片

之后无意中发现包含头文件中把#include "win_cir.h"和#include "win_rect.h"位置互相调换错误就会消失,于是打开两个头文件比较。

头文件顺序调换编译出错、添加头文件后仍然报错_第2张图片头文件顺序调换编译出错、添加头文件后仍然报错_第3张图片

此时才发现在头文件中实用#ifndef #define #endif的时候重复定义了_WIN_RECT_H_所以导致这个错误的出现,于是将文件名为win_cir.h改为头文件顺序调换编译出错、添加头文件后仍然报错_第4张图片

错误消失,不管怎么调换头文件顺序都不会再报错啦!

你可能感兴趣的:(Keil单片机,C语言,STM32,C)