gpt4 book ai didi

c - 重建开始时的 IAR 自定义构建

转载 作者:太空宇宙 更新时间:2023-11-04 00:08:24 24 4
gpt4 key购买 nike

我在 IAR 中配置了一个自定义构建工具。它接受一个文本文件并输出一个供其他 C 文件使用的 .h 文件。当我将 .h 文件添加到输出文件列表时,它作为完整重建的第一步被删除。自定义构建步骤在链接后构建结束时执行。这会导致依赖于 .h 的 .c 文件编译失败。

另一种选择是将自定义构建步骤放在项目的预构建步骤中。但是,无论 .txt 文件是否更改,这始终会执行。

问题:

  1. 我能否让 IAR 了解 .c 文件对 .h 文件的依赖性并在其编译之前运行自定义构建步骤?

  2. 如果那不可能,我至少可以强制自定义构建步骤在开始时发生吗?

最佳答案

我的解决方案是将预构建步骤输出到一个临时文件,只有在不同的情况下才将其复制到原始文件上。预构建步骤始终运行,但如果结果与上次相同,则不会触发完全重新编译。

将其放入批处理文件中并使其成为预构建步骤:

your_prebuild_application > SVN_Revision_tmp.h

fc /b SVN_Revision_tmp.h SVN_Revision.h > nul
if errorlevel 1 goto newfile

del SVN_Revision_tmp.h
goto end

:newfile
del SVN_Revision.h
rename SVN_Revision_tmp.h SVN_Revision.h
goto end

:end

关于c - 重建开始时的 IAR 自定义构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com