【问题标题】:make and alternatives, pros and cons on windows platformWindows平台上的制作和替代品,优缺点
【发布时间】:2023-03-18 11:33:01
【问题描述】:

我正在寻找一个制作平台。我已经阅读了一些关于 gnu make 的内容,并且它在 Windows 平台上遇到了一些问题(从斜杠/反斜杠到 shell 确定......)所以我想听听我的替代方案是什么?

如果重要的话,我会在小型项目(最多 50k 行)上结合(非常)小 c 进行 fortran 开发,但我认为这并不重要,因为其中大多数都是与语言无关的类型。

gnu make 有什么缺点,我有什么替代方案,有什么优点?

【问题讨论】:

    标签: c makefile fortran build-system


    【解决方案1】:

    有几个很好的工具可以在 Windows 上进行持续集成和构建。我想到的两个是NAnt,它把自己描述为 .Net 构建工具,但可以用来构建任何东西——它是开源的并且非常可扩展,尽管缺少 UI。我最近开始使用Hudson,这很棒,输出比 NAnt 好得多,使用起来更容易。我对这些工具和 Fortran 的经验为零,祝你好运。

    我对 make 及其衍生产品的想法是避免基于它的年龄,在当时是一个很好的工具,但它现在必须 20 岁,并且技术(即使在构建领域)从那时起已经有了相当大的进步。

    【讨论】:

    • 感谢您的建议。然而,困扰我的事情之一是,尽管似乎有许多较新的工具,但它们都没有任何重要的用户群。因此,如果我遇到问题,我将独自一人。例如,SCons 几乎没有(正如谷歌所言)。
    • 我知道 NAnt,它的衍生产品 Ant 拥有庞大的用户群,CrusiseControl 是 .Net 的首选工具,但它不是很好,所以它的王冠被 Hudson 拿下。
    【解决方案2】:

    你可以看看cmake。这是一种“元制作”系统:您为它编写一个制作文件,其中说明您的项目的结构,它需要哪些库和源代码,等等。它可以为您构建 GNU make、nmake(我相信)、Kdevelop 和 Visual Studio 的项目文件的 make-files。

    KDE 已将它用于 KDE4 及以后的版本,并且此后得到了极大的增强:CMake

    另一个这样的系统是Bakefile,它被构建用于为 wxWidgets GUI 工具包生成 make-files 和 project-files。它也可以用于非 wx 应用程序,并且相对年轻和现代(使用 XML 作为其 makefile 描述)。

    【讨论】:

      【解决方案3】:

      还有nmake,这是微软的nmake版本。不过,我建议坚持使用 gnu make。我的建议是始终使用 Unix 之类的斜杠;它们也适用于 Windows。 Gnu make 被广泛使用,您可以轻松找到教程并获得有关它的使用建议。这也是一项更好的投资,因为您将来也可以在其他领域使用它。最后,它的功能要丰富得多。

      【讨论】:

      • nmake 大多与 make 不兼容,大多数项目现在通常都附带 make 文件,但有些项目没有,所以使用 gnu make 兼容程序很有用,这是这个问题的重点。
      【解决方案4】:

      我在 Windows 下使用 GNU make 并且没有任何问题。但是,我也使用 bash 作为我的 shell。 make 和 bash 都可以作为 Cygwin 软件包的一部分从 www.cygwin.com 获得,如果您要从命令行使用 make,我强烈建议您安装 bash 和所有常用命令行工具(grep、sed 等) .

      【讨论】:

      • zab,谢谢您的回答。不幸的是,这就是我问的原因——我不能使用除了 cmd 之外的任何其他 shell。你怎么看,在cmd中使用,我会不会有什么问题?
      • @ldigas:从 Windows 的 cmd shell 使用 GNU make 没有问题 - cygwin(我正在使用)或 MinGW 版本都应该工作
      【解决方案5】:

      Make 即使在 Windows 上也经受住了时间的考验,我每天都在使用它,但也有 msbuild

      【讨论】:

        【解决方案6】:

        细节,细节……

        鉴于您的小项目,我会从 MS nmake 开始。如果这还不够,请继续使用 GNUmake。上面的其他建议也很好。 Ant 和 CMake 都很好,但你不需要它们,如果你有问题,有很多 make 用户可以帮助你。

        就此而言,由于您使用的是 Windows,MS IDE 没有内置构建工具。只需单击即可。

        保持简单。打算把第一个扔掉,反正你会的。

        维基百科也有这样的说法:

        http://en.wikipedia.org/wiki/List_of_build_automation_software

        【讨论】:

          猜你喜欢
          • 2010-10-31
          • 1970-01-01
          • 2021-01-22
          • 2015-11-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-25
          相关资源
          最近更新 更多