Eclipse Kepler CDT包括外部头文件/递归外部包含路径(带子文件夹)

时间:2013-07-27 17:05:56

标签: eclipse-cdt include-path

您好我有一个嵌入式C项目,所有基本C库都存储在外部文件夹中(不在工作区中)。我可以编译因为编译器知道在哪里查找这些文件,但Eclipse不知道这些文件存在并且我收到错误消息: enter image description here

我可以手动添加一个文件夹:rightClickOnProject->Properties->C/C++ Include Paths and Symbols -> Add External Include Path

例如,文件<stdint.h>位于C:\embARM7\yagarto\arm-elf\include文件夹中,因此我执行以下操作:

enter image description here

这解决了<stdint.h>

的日食错误标记

但文件<stdio.h>位于C:\embARM7\yagarto\arm-elf\include\sys文件夹中,我必须再次完成整个过程:

enter image description here

现在下一个头文件位于C:\embARM7\yagarto\arm-elf\include\machine,依此类推......等等。

我的问题是: 有没有办法添加包含所有子文件夹的外部包含路径? 有点“添加此文件夹和所有子文件夹”/“递归添加此文件夹”。 与C:\embARM7\yagarto\arm-elf\include\*类似,因此我不必手动添加文件夹结构中的每个文件夹。对于一个项目,这是5分钟,但我必须为10个项目做这个,这项工作很糟糕。

由于

2 个答案:

答案 0 :(得分:6)

在向项目添加外部标题集时,我也遇到了同样的问题。我没有在项目属性中使用包含路径和符号,而是在项目中添加了一个指向根目录的链接,该目录包含其子目录中的所有外部标题。这是怎么做的:

  1. rightClickOnProject->New->Folder
  2. 点击Advanced对话框中的New Folder按钮,
  3. 选择Link to alternate location选项框
  4. 浏览到包含所有标题的根目录,然后
  5. 点击Finish按钮。
  6. 干杯

答案 1 :(得分:1)

我没有在Eclipse 3.7-4.3和MS VS2012中找到这样的选项。显然,解决方法是用任何语言编写脚本,为您生成递归路径。

对于Eclipse,您可以使用项目设置编写.xml文件,然后将其导入(项目属性 - &gt; C / C ++常规 - &gt;路径和符号 - &gt;导入设置...)。要了解此文件的结构,请先在某处导出当前项目设置。