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 クラスで行われることを私は知っています。残念ながら、ナントに相当するものはわかりません。

于 2008-09-17T21:29:17.450 に答える
0

タスクを使用することもでき<exec>ます。

于 2008-09-17T21:30:20.800 に答える