Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Build 在IAR中具有多个输入的自定义构建步骤_Build_Iar - Fatal编程技术网

Build 在IAR中具有多个输入的自定义构建步骤

Build 在IAR中具有多个输入的自定义构建步骤,build,iar,Build,Iar,我在IAR Workbench中有一个项目,它需要一个定制的构建步骤来构建一个中间文件;此文件由一组具有公共扩展名的其他文件组合而成(即,对于特定于域的语言中的输入文件,有一个中间链接步骤) 在我看来,“自定义工具”一次只能处理一个输入文件;这是真的,还是需要设置复选标记,以便在一次运行中传递与扩展名列表匹配的所有文件?不支持自定义生成步骤,该步骤一次可以使用多个源文件。自定义构建步骤的工作方式类似于编译器,而不像链接器。将具有公共扩展名的文件放入它们自己的组文件夹中。在组文件夹上单击鼠标右键,

我在IAR Workbench中有一个项目,它需要一个定制的构建步骤来构建一个中间文件;此文件由一组具有公共扩展名的其他文件组合而成(即,对于特定于域的语言中的输入文件,有一个中间链接步骤)


在我看来,“自定义工具”一次只能处理一个输入文件;这是真的,还是需要设置复选标记,以便在一次运行中传递与扩展名列表匹配的所有文件?

不支持自定义生成步骤,该步骤一次可以使用多个源文件。自定义构建步骤的工作方式类似于编译器,而不像链接器。

将具有公共扩展名的文件放入它们自己的组文件夹中。在组文件夹上单击鼠标右键,然后选择“选项”、“自定义生成”、“替代继承的设置”

然后,您可以使用“make”程序,通过将这些文件名放入make执行的文件中,从所有辅助源文件生成中间文件

是的,make将为每个文件运行,但由于在第一次迭代后,中间文件将比所有辅助源文件都要新,因此在为其余的每个辅助源文件调用时,它不会起多大作用


不是十全十美,但应该有效。缺点是管理列出所有输入文件的文件,以创建所需的中间文件。

在较新的工作台版本(我选中了EWARM 7.60和更新版本)中,自定义构建步骤接受工具输入和输出的文件列表。这些文件列表都添加到内部依赖关系树中

自定义生成步骤的文件扩展名不一定需要与“真实”生成的文件匹配。您还可以使用“假”文件(例如,
dummy.step
)运行带有外部批处理文件的外部工具,然后该批处理文件立即向工具提供所有必要的文件


这种方法的缺点是,您需要手动和两次管理文件列表(在工具的外部批处理文件和正确依赖关系树的构建步骤配置中)。

这证实了我的担心;所以我需要对它进行编码。谢谢