質問

Nant は非常にコンパイラ中心であるように見えます。これは、Nant が .NET 開発システムと考えられているためだと推測されます。しかし、それができることはわかっています!見たことある。私たちが構築しているプラ​​ットフォームには独自のコンパイラーがあり、C++ の「cl.exe」は使用しません。別のプラットフォームで C++ アプリを構築しており、独自のコンパイラーでオーバーライドしたいと考えています。誰かがそれを行う方法、または少なくともターゲットプラットフォームのコンパイラを使用する独自のターゲットをセットアップする方法を教えてもらえますか?

役に立ちましたか?

解決

これは私が 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>

他のヒント

独自のタスクを作成する必要があります。 これ 良い参考になります。

最初に、<exec> タスクを使用して実行可能ファイルを実行し、必要な情報をパラメータや環境変数として渡します。

将来の使用のために、独自のタスクを作成することを検討することもできます。標準の Ant では、これが <taskdef> タスクと Java クラスで行われることはわかっています。残念ながら、Nant に相当するものはわかりません。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top