0

我正在尝试 Incredibuild,我想并行化我的“自定义构建”(使用 FASM)。要构建 FASM OBJ,我需要调用 2 个应用程序(FASM.exe 和另一个应用程序 PECVT.exe 将调试信息附加到 fasm .OBJ)

因此,要创建 FASM OBJ,我需要执行以下 2 个步骤的自定义构建(请注意,在 FASM.exe 之后调用 PECVT.exe)

FASM.exe params 
PECVT.exe params

我已经读过,要使自定义构建与 Incredibuild 并行化,我必须创建一个包含以下信息的 xml 文件:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>


<Profile FormatVersion="1">


<Tools>


<Tool Filename="fasm" AllowRemote="true" AllowPredictedBatch="true"/>
<Tool Filename="pecvt" AllowRemote="true" AllowPredictedBatch="true"/>

</Tools>


</Profile>

有了上面的内容,现在 FASM/PECVT 与组装我的 .ASM 文件并行执行。我遇到的问题是 PECVT.exe 与 FASM.exe 同时调用,所以有时 PECVT.EXE在FASM.exe之前执行

如果我从 .xml 文件中删除“pecvt.exe”,那么 .ASM 文件将按顺序(而不是并行)组装。

Incredibuild 如何并行启动 FASM,但确保始终在“FASM.EXE”之后执行“PECVT.EXE”?

谢谢!

4

1 回答 1

2

当您将这 2 个自定义工具定义为并行运行时 - 您所做的每个构建的构建顺序可能会略有不同。

由于您希望这 2 个自定义工具并行运行,但还要确保PECVT.EXE始终在之后执行FASM.exe- 也许最好的方法是创建一个包装器,以确保以这种方式调用这 2 个自定义工具。

一旦你准备好这个包装器,这应该是你的唯一行profile.xml

<Tool Filename="MyWrapper" AllowRemote="true" AllowPredictedBatch="true"/>

希望它有所帮助。

于 2017-01-09T12:11:01.563 回答