在调试c++调用c时,发生了“***was not declared in this scope"问题,特此记录
头文件中已经包含了相关.h文件
首先, 怀疑是发生了环形依赖问题,排查后发现被调用文件已经包含了条件编译
#ifndef ***_H_
#define ***_H_
...
#endif
其次,程序名也未和其他库中的头文件重名;
最后,发现在c程序的存在除了上述的条件编译外,还存在另一个条件编译
#ifdef COMPONENT
即只有满足该条件下才会编译该程序
解决方案: 在include头文件前增加宏定义即可
#define COMPONENT