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
指令更改文件的地方。
我需要在 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
指令更改文件的地方。