【问题标题】:Native Makefile alternative for windowsWindows的本机Makefile替代品
【发布时间】:2010-12-24 06:49:48
【问题描述】:

在 Windows 上什么是 Makefile 的好替代品?

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

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

德鲁·J·索恩。

【问题讨论】:

标签: c++ windows makefile


【解决方案1】:

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

【讨论】:

  • VisualStudio 本身不是第 3 方工具吗?
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    如果您还尝试支持其他适用于 Windows 的 C++ 编译器,则会变得更加棘手。要么您必须为他们的所有 IDE 提供项目文件,如果您无法访问所有 IDE,这可能会很棘手,或者您必须选择最低公分母,这将是最简单的 Makefile并希望大多数程序员都安装了make,这不是一个不合理的假设。

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

    【讨论】:

      猜你喜欢
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2010-09-06
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多