【发布时间】:2019-06-29 15:02:20
【问题描述】:
我需要在 iar 的预处理器中添加大量路径!每条路径都有很多子文件夹等等。 我不想手动执行,因为我正在处理的项目非常庞大,并且文件夹的结构可能会随着时间而变化! 有一种方法可以自动包含项目中的所有子文件夹吗? 我正在使用 iar 7.80
非常感谢
【问题讨论】:
我需要在 iar 的预处理器中添加大量路径!每条路径都有很多子文件夹等等。 我不想手动执行,因为我正在处理的项目非常庞大,并且文件夹的结构可能会随着时间而变化! 有一种方法可以自动包含项目中的所有子文件夹吗? 我正在使用 iar 7.80
非常感谢
【问题讨论】:
我不知道在 IAR 中包含包含路径的子文件夹的项目选项。
使用项目选项对话框的一些替代方法:
1.编辑 *.ewp 文件
如果你搜索CCIncludePath2,你会找到这样的条目
<option>
<name>CCIncludePath2</name>
<state>$PROJ_DIR$\..\include</state>
</option>
这意味着您可以保留/生成包含路径列表并相对轻松地插入它。
2。在#include 语句中使用子文件夹
如果您的标题结构如下:
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 指令的文件不在您的控制范围内,您仍然必须指定每个包含路径。
它还提供的好处是,如果您要更改包含文件夹结构,您可以轻松地在受影响的标题上执行替换文件。
第一个选项不那么优雅,但它也可以用于无法使用 #include 指令更改文件的地方。
【讨论】: