6

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

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

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

在此处输入图像描述

这解决了 eclipse 错误标记<stdint.h>

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

在此处输入图像描述

现在下一个头文件位于C:\embARM7\yagarto\arm-elf\include\machine等等等等....

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

谢谢

4

2 回答 2

6

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

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

干杯

于 2014-04-10T13:31:21.537 回答
1

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

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

于 2013-10-24T09:55:10.837 回答