有没有办法让Eclipse编辑器假设已经包含了一个特定的C头文件,而不必明确#include它?
例如,我们如何实现:
#include "common_type_defs.h"
#include "special_type_defs.h" // Don't want to have to mention this header file
main()
{
common_type var1;
special_type var2;
.....
}
仅写作:
#include "common_type_def.h"
main()
{
common_type var1;
special_type var2; // Eclipse editor: "Symbol 'special_type' could not be resolved"
.....
}
没有得到Eclipse编辑器注释错误:“无法解析符号'special_type'。”
原因是,该项目使用自定义脚本化构建系统。特殊的头文件由构建系统自动添加,从不同的库中选择。所以构建成功。
我已将特殊标题文件夹添加到项目的包含路径中。这允许我按[F3]并跳转到“special_type”的定义。只是编辑器标记错误。
我不想让错误沉默,因为我想抓住真正的错误。
有什么建议吗?
答案 0 :(得分:1)
在构建系统中执行其他定义,然后:
#ifndef CUSTOMBUILDER
#include "special_type_defs.h" // Don't want to have to mention this header file
#endif
答案 1 :(得分:1)
转到:
项目属性→ C / C ++常规→预处理器包含路径,宏等→条目→ GNU C
选择 CDT用户设置条目,然后单击添加按钮。选择包含文件,然后在此处输入预处理器预包含文件。
应用并重建索引器。
我正在使用Oxygen.1a Release(4.7.1a)
答案 2 :(得分:0)
我最终为构建系统的每个构建选项创建了不同的"构建配置"。在那里,我可以根据需要添加后台头文件。
一个缺点是我必须维护不同的构建配置来镜像构建系统:当新的头文件添加到构建系统时,还必须将相同的文件添加到eclipse构建配置中。因此,此解决方案将不适用于大型团队项目,因为您可能很容易错过一两个文件更改。但它适用于小型团队和不经常的变化。