2008-09-17 74 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>任務。

相關問題