Windows和Linux中的makefile有什么区别吗?
如果我知道如何在Linux中使用它,是否有必要学习
在Windows系统中有什么新东西?答案 0 :(得分:2)
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,以便在Windows上使用configure。它没有Cygwin那么完整,但它的重量要轻得多。
你会发现Gnu Make的手册大部分都是正确的。但是,您必须记住,Makefile的内容不是用单一语言编写的。定义变量并列出依赖树的东西是一种语言。动作的每一行都是一个微型shell脚本,它使用默认shell的语言(在Windows上可能是CMD.EXE而不是/ bin / sh),每个命令都有选项和参数。
如果您对* nix构建环境感到满意,那么Cygwin可能是最不痛苦的道路。但是MSYS通常已经足够了,并且可以说采用目标平台的本机工具,这样您就可以了解用户如何看待Windows,在这种情况下,MinGW和GnuWin32可以很方便地了解。
答案 1 :(得分:1)
答案 2 :(得分:0)