Eclipse:头文件的 "linked Resources" 和 "Build->Setting->include" 之间的行为差​​异

Eclipse: Behavioral differences between "linked Resources" and "Build->Setting->include" of a head file

我正在使用 Eclipse,不明白“在项目设置中设置 包含路径”和“添加链接资源[=42=”之间有什么区别] 在项目设置中”获取头文件。 它们是如何工作的?

我遇到了以下场景:

我想使用SDK中提供的头文件“functions_api.h”。我在“C/C++Build->Settings->Includes”中设置了头文件的路径,在我的项目中也可以看到头文件

  • 我可以包含“function_api.h”和access/use它的预定义宏。但是,当我将新的 typedef 添加到“function_api.h”时,新添加的 typedef 在我的项目中不可见。
  • 然后我创建了一个新文件(new->file),链接到“function_api.h”。这一步之后,新添加的typedef在项目中也是可见的

所以我不明白的是:

  1. 为什么新添加的 typedef 在链接“function_api.h”之前不可见(通过 new->file)而其他预定义的宏是可见的?
  2. 链接“function_api.h”后发生了什么变化,使新添加的 typedef 变得可见?

谢谢 BL_

来自@user7860670 的评论已解决问题。