IAR 预处理器:包含大量路径

IAR preprocessor: include a tons of path

我需要在 iar 的预处理器中添加大量路径!每个路径都有很多子文件夹等等。 我不想手动执行,因为我正在处理的项目非常庞大,文件夹的结构可能会随着时间的推移而变化! 有没有一种方法可以自动包含项目中的所有子文件夹? 我正在使用 iar 7.80

非常感谢

我不知道使用 IAR 包含包含路径的子文件夹的项目选项。

使用项目选项对话框的一些替代方法:

1.编辑 *.ewp 文件

如果您搜索 CCIncludePath2,您会找到这样的条目

<option>
    <name>CCIncludePath2</name>
    <state>$PROJ_DIR$\..\include</state>
</option>

这意味着您可以 keep/generate 包含路径列表并相对容易地插入它。

2。在 #include 语句中使用子文件夹

如果您的 headers 结构如下:

include
include/library1
include/library1/componentX
include/library1/componentX/buffer.h

如果你写在你的代码中

#include "library1/componentX/buffer.h"

而不是

#include "buffer.h"

您可以使用 include 的包含路径配置 IAR,但不需要 include/library1/componentX。这意味着如果您的包含路径中还有另一个 buffer.h,则没有歧义。

我更喜欢第二个选项,但它有局限性:如果带有 #include 指令的文件不在您的控制范围内,您仍然必须指定每个包含路径。 它还提供了一个好处,如果您要更改包含文件夹结构,您可以轻松地对受影响的 headers 执行 replace-in-files。 第一个选项不是那么优雅,但它也可以用于无法使用 #include 指令更改文件的地方。