【发布时间】:2009-04-12 16:48:14
【问题描述】:
Windows 和 Linux 中的 makefile 有什么区别吗?
如果我知道如何在Linux中使用它,是否有必要学习
在 Windows 系统中有什么新东西吗?
【问题讨论】:
Windows 和 Linux 中的 makefile 有什么区别吗?
如果我知道如何在Linux中使用它,是否有必要学习
在 Windows 系统中有什么新东西吗?
【问题讨论】:
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 是方便了解的资源。
【讨论】: