2008-11-19 78 views
3

我正在開發一個大型的C++項目。它使用單個Ant腳本進行構建,使得可以針對多個平臺和編譯器編譯相同的源代碼。Ant - > Nant - > Visual Studio 2005 Build

但是,我只能用於Windows平臺和Visual Studio 2005 C++編譯器。如果我可以在Visual Studio中編寫代碼並進行編譯,而不是像現在這樣使用Notepad ++和Ant腳本,那將非常好。

我試圖爲Visual Studio 2005安裝Nant和Nant插件,並使用現有的Ant腳本,但似乎Ant腳本不能用作Nant腳本。

有什麼辦法將Ant腳本轉換爲Nant嗎?是否有任何其他方法解決該問題,或者我必須手動創建Visual Studio解決方案和項目?

我會盡量避免這樣的解決方案,因爲我有一堆測試,我不知道如何在這種情況下使用。

回答

2

據我所知,沒有自動將Ant腳本轉換爲NAnt的方法。但是,由於NAnt是基於Ant的,所以只要任務是「核心」任務,轉換過程就不會離原先太遠。可能在Ant腳本上進行XSLT轉換以轉換爲NAnt,因爲兩者都是XML。如果沿着這條路走下去,轉換應該基於原始的Ant腳本動態地,以便只需要維護一組腳本。

如果您想在Visual Studio中編寫和編譯您的C++代碼,很難擊敗IDE內置的功能。但是,這需要創建項目文件。否則,人們似乎有可能與這個工具進行艱苦的鬥爭。

測試的一個選項是通過custom build step呼叫運行它們。

2

根據我的經驗,將VS與ant集成的最佳方法是在IDE端調用ant作爲自定義構建步驟(如Scott Saad所示),並從ant中調用msbuild.exe作爲可執行文件以構建該項目來自命令行。

我知道這個問題已經得到解答 - 我只是想提出使用msbuild的可能性,因爲它是迄今爲止從ant本身構建VS項目的最簡單方法。

+0

在這種情況下,msbuild/vcbuild幾乎是非常棒的,是的。 – Macke 2009-12-13 23:12:48

0

使用包含在NAnt任務中的MSBuild任務。我不得不在我上一份工作上這樣做,這是我能想出的最好的解決方案,然後我可能會非常糟糕。