2009-12-08 66 views
3

在Windows上,Makefile的替代選擇是什麼?Windows原生Makefile替代

我使用cl.exe編譯C++文件(.cpp和.h's)的集合。

我寧願不使用Makefile,因爲我想最大限度地減少需要構建我的應用程序的第三方實用程序的數量。

德魯J.索內。

+0

一個相關的問題:http://stackoverflow.com/questions/476163/nant-or-msbuild-which-one-to-choose-and-when –

回答

6

VisualStudio自帶nmake,不需要任何第三方工具。

+0

是不是VisualStudio本身的第三方工具? – Phe0nix

3

MSBuild,微軟構建系統。這是Visual Studio使用的基於XML的構建系統。如果您安裝了Visual C++,則安裝了MSBuild。您可以手工完成Visual Studio項目文件中的任何項目(或反之亦然;您可以在命令行上創建Visual Studio項目)。

1

我認爲這取決於你支持Windows的C++編譯器。如果您專門針對Visual Studio用戶,那麼只需提供必要的項目文件即可實現,因爲您的用戶可以在IDE中打開它們或使用devenv.exe/msbuild.exe通過命令行構建項目。在這種情況下,我的建議是提供您支持的Visual Studio最早版本的項目文件,因爲新版Visual Studio可以將文件轉換爲他們所需的格式。

如果您也試圖支持Windows的其他C++編譯器,它會變得更棘手。要麼你必須爲所有的IDE提供項目文件,如果你不能訪問所有的IDE,這可能會非常棘手,或者你必須去尋找最小公分母,這將是最簡單的Makefile並希望大多數程序員能夠進行安裝,這不是一個不合理的假設。

如果您的軟件需要Boost庫,另一種方法是提供一組.jam文件,因爲大多數Boost的程序員可能在構建Boost時存在bjam。儘管bjam並不像make那麼簡單,但它的主要優點是它已經知道如何處理多個編譯器。但是我只會考慮bjam,如果分發的軟件需要Boost,否則它是另一個不需要的依賴。