2

Nant 似乎非常以编译器为中心——猜测是因为它被认为是一个 .NET 开发系统。但我知道这是可以做到的!我已经看到了它。我们正在构建的平台有自己的编译器,并且不使用 c++ 的“cl.exe”。我们正在不同平台上构建 C++ 应用程序,并希望使用我们自己的编译器进行覆盖。谁能指出我这样做的方法,或者至少如何设置我自己的目标来使用我们目标平台的编译器?

4

4 回答 4

5

这是我为 Delphi 做的一个。每个 'arg' 都是一个单独的参数,其值在别处定义。在调用目标之前,使用设置的参数调用目标。

<target name="build.application">
    <exec program="dcc32" basedir="${Delphi.Bin}" workingdir="${Application.Folder}" verbose="true">
        <arg value="${Application.Compiler.Directive}" />
        <arg value="-Q" />
        <arg value="/B" />
        <arg value="/E${Application.Output.Folder}" />
        <arg value="/U${Application.Lib.Folder};${Application.Search.Folder}" />
        <arg value="${Application.Folder}\${Delphi.Project}" />
    </exec>
</target>
于 2008-09-17T21:38:33.527 回答
3

您需要编写自己的任务。 是一个很好的参考。

于 2008-09-17T21:27:19.433 回答
1

最初,使用 <exec> 任务运行可执行文件,将任何所需信息作为参数和/或环境变量传递。

为了将来使用,您还可以研究编写自己的任务。我知道使用标准 ant,这是通过 <taskdef> 任务和 java 类完成的。不幸的是,我不确定 Nant 等价物。

于 2008-09-17T21:29:17.450 回答
0

您也可以使用该<exec>任务。

于 2008-09-17T21:30:20.800 回答