Windows 的本地 Makefile 替代方法

4

在Windows上,有没有比Makefile更好的替代品?

我正在使用cl.exe编译一组C++文件(.cpp和.h文件)。

我不想使用Makefile,因为我希望最小化人们构建我的应用程序所需的第三方工具数量。

Drew J. Sonne。


一个相关的问题:https://dev59.com/RXRB5IYBdhLWcg3w4bOv - James McNellis
3个回答

7

VisualStudio自带nmake,无需任何第三方工具。


VisualStudio本身不就是第三方工具吗? - Phe0nix

3

MSBuild,是微软的构建系统。它是基于XML的构建系统,被Visual Studio所使用。如果您已安装Visual C++,则已安装了MSBuild。

Visual Studio项目文件只是MSBuild文件,因此您可以通过手动操作(或反过来;在命令行上构建Visual Studio项目)执行Visual Studio项目文件中的任何操作。


1

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

如果你还想支持其他Windows C++编译器,则会变得有些棘手。你要么必须为所有IDE提供项目文件,如果你没有这些IDE的访问权限,这可能会很麻烦;要么选择最低公共分母,也就是最简单的Makefile,并希望大多数程序员都已经安装了make,这不是一个不合理的假设。

如果你的软件需要Boost库,另一种方法是提供一组 .jam 文件,因为大多数拥有Boost的程序员可能已经安装了bjam。虽然bjam不像make那样简单,但它已经知道如何处理多个编译器,这是它的主要优势。但我只会考虑bjam,如果所分发的软件需要Boost,否则它是另一个不必要的依赖项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接