2008-09-17 49 views
2

Nant似乎非常以编译器为中心 - 这是因为它被认为是一个.NET开发系统。但我知道它可以做到!我已经看到了它。我们正在构建的平台具有自己的编译器,并且不使用C++的“cl.exe”。我们正在另一个平台上构建一个C++应用程序,并希望用我们自己的编译器进行覆盖。任何人都可以通过某种方式指向我,或者至少如何设置我自己的目标,这将使用我们的目标平台的编译器?如何使用我自己的编译器和Nant?

回答

5

这是我为德尔福做的一个。每个'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> 
+0

不错的答案。我们为Borland/CodeGear C++编译器做了同样的事情。我们几乎可以用适当的执行任务使您的洗碗机无法运行。 :) – 2008-09-17 23:01:22

3

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

1

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

为了将来的使用,您还可以调查编写自己的任务。我用标准蚂蚁知道这是通过<taskdef>任务和一个java类完成的。不幸的是,我不确定南特等值。

0

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

相关问题