
错误反馈1.\Modules\BlueTooth.h(7): error: #20: identifier BlueTooth_Status is undefined.\Modules\BlueTooth.h(10): error: #20: identifier BlueTooth_Status is undefined...类型定义BlueTooth.h中使用到枚举类型BlueTooth_Status--Common.h--Global.h中定义了BlueTooth_Status枚举类型代码图示错误反馈2.\Modules\BlueTooth.h(8): error: #20: identifier BUFFER_SIZE is undefined类型定义BlueTooth.h中使用到了宏定义BUFFER_SIZE--Common.h--Global.h中定义了宏#define BUFFER_SIZE 128代码图示(Common.h和Global.h不做重复展示就是定义了宏放Global里面)找不到枚举值和宏定义的原因分析寻找宏定义的过程BlueTooth.h先到头文件Common.h里面去找然后在Global.h找到类型定义看似没毛病分析Common.h里面又重复包含了#include BlueTooth.h但是Global.h是在Common.h最开始就包含了按顺序到了BlueTooth.h那里应该早就定义了宏呀看似也没毛病。实际上Common.h中包含了Global.h而Global.h中又包含了Common.h头文件两个文件之间是循环包含的头文件解决如果只有A.c用到了这个宏定义就直接将枚举类型和宏定义放在A.h文件中有多个文件用到一个类型普通.c文件和Global.h公共变量文件用公共头文件时将宏定义放在公共头文件Common.h的最上面代码图示