【问题标题】:IAR preprocessor: include a tons of pathIAR 预处理器:包含大量路径
【发布时间】:2019-06-29 15:02:20
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: embedded workbench iar


    【解决方案1】:

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

    【讨论】:

    • 非常感谢,您的回答对您有帮助!事实上,在搜索有关 .ewp 文件的一些文档时,我发现还有另一种方法可以做到这一点!我导入了一个与.ewp 非常相似的ifng 文件。在 iar 中转到:项目-> 添加项目连接-> 使用:IAR 项目连接进行连接。
    猜你喜欢
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多