Windows的原生Makefile替代方案

时间:2009-12-08 04:06:59

标签: c++ windows makefile

什么是Windows上Makefile的一个很好的替代品?

我正在使用cl.exe编译c ++文件集合(.cpp和.h)。

我宁愿不使用Makefile,因为我想尽量减少构建应用程序所需的第三方实用程序的数量。

Drew J. Sonne。

3 个答案:

答案 0 :(得分:6)

VisualStudio附带nmake,不需要任何第三方工具。

答案 1 :(得分:3)

MSBuild,Microsoft构建系统。它是Visual Studio使用的基于XML的构建系统。如果安装了Visual C ++,则安装了MSBuild。

Visual Studio项目文件只是MSBuild文件,因此您可以在Visual Studio中使用项目文件执行任何操作,您可以手动执行(反之亦然;您可以在命令行上构建Visual Studio项目)。

答案 2 :(得分:1)

我认为这取决于您支持Windows的C ++编译器。如果您专门针对Visual Studio用户,那么只需提供必要的项目文件即可,因为您的用户可以在IDE中打开它们,也可以使用devenv.exe / msbuild.exe通过命令行构建项目。在这种情况下,我的建议是为您支持的最旧版Visual Studio提供项目文件,因为较新版本的Visual Studio能够将文件转换为所需格式。

如果你试图支持Windows的其他C ++编译器,它会变得有点棘手。您要么必须为所有IDE提供项目文件,如果您无法访问所有这些文件,那么这些文件可能会非常棘手,或者您必须选择最低的公分母,这可能是最简单的Makefile并希望大多数程序员都能安装,这不是一个不合理的假设。

如果你的软件需要Boost库,另一种方法是提供一组.jam文件,因为大多数拥有Boost的程序员可能会在构建Boost时将bjam浮动回来。虽然bjam并不像make那么简单,但它的主要优点是它已经知道如何处理多个编译器。但我只考虑bjam,如果分发的软件需要Boost,否则它是另一个不需要的依赖。