2009-12-08 42 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,否则它是另一个不需要的依赖。