【问题标题】:Is there any material about makefile in Windows?有没有关于 Windows 中的 makefile 的资料?
【发布时间】:2009-04-12 16:48:14
【问题描述】:

Windows 和 Linux 中的 makefile 有什么区别吗?

如果我知道如何在Linux中使用它,是否有必要学习

在 Windows 系统中有什么新东西吗?

【问题讨论】:

    标签: windows linux makefile


    【解决方案1】:

    GnuWin32 的优秀人员让 Gnu 将 built for Windows 制作为原生二进制文件。它运行良好,但由于一个善意的黑客尝试将名为foo 的目标与文件foo.exe 等同起来,因此确实有一些小怪癖。 GnuWin32 软件包确实包含一份不错的 PDF 手册 IIRC。

    我在 XP 上将它与来自 MinGW 项目的 GCC 以及几个不同的嵌入式系统交叉编译器工具链一起使用。 MinGW 还提供了 Gnu Make 的原生构建。

    我们确实在几个项目中使用了 Cygwin,特别是在一个片上系统供应商提供了一个完整的、可工作的工具链和托管在 Cygwin 中的构建环境的项目中。将其迁移到原生 Windows 形状的构建会非常昂贵,并且更难接受来自供应商的更新。

    如果您想主要使用本地 Windows 工具,但需要首先在现有源工具包上运行 configure,那么请查看 MSYS。这最初是 MinGW 开发人员作为 Cygwin 的一个分支,它打算提供一组最小的类 unix 工具和一个 bash shell,以便 configure 可以在 Windows 上使用。它不如 Cygwin 完整,但重量要轻得多。

    您会发现 Gnu Make 的手册大部分是正确的。但是,您必须记住,Makefile 的内容不是用单一语言编写的。定义变量和布置依赖树的东西是一种语言。操作的每一行都是一个微型 shell 脚本,它使用默认 shell 的语言(在 Windows 上可能是 CMD.EXE 而不是 /bin/sh),每个命令都有选项和参数。

    如果您对 *nix 构建环境感到满意,那么 Cygwin 可能是最不痛苦的路径。但是 MSYS 通常就足够了,采用目标平台的本机工具有一些话要说,以便您了解用户如何看待 Windows,在这种情况下,MinGW 和 GnuWin32 是方便了解的资源。

    【讨论】:

      【解决方案2】:

      除了 iftrue 之外,请注意,Microsoft 有一个基于 Makefile 的构建工具,名为 nmake,与基于 *nix 的传统 make 工具的语法/语义有所不同。这个page 列出了一些差异。

      【讨论】:

      • 我从来没有用过 nmake 运气好,但如果你在 Windows 上,我想它值得一试。
      • nmake 工作正常,如果你生活在它的范围内。总比没有好,还是bat文件...
      【解决方案3】:

      好吧,如果您下载“cygwin”,您可以直接在 Windows 上运行“make”工具,但您可能想研究真正的跨平台构建工具,例如“cmake”。它类似于 make,但它更漂亮一些,并且本质上是跨平台的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-11
        • 1970-01-01
        • 2016-06-23
        • 2020-05-20
        相关资源
        最近更新 更多