MinGW和常规GCC之间的区别?

MinGW和常规GCC之间的区别?,gcc,mingw,Gcc,Mingw,在MinGW的SourceForge页面上,您可以下载GCC4.5.2,这是最新版本。在GNU镜像上,您可以下载GCC 4.6源代码,并使用可能的windows目标之一进行编译: i[3456789]86-w64-mingw* i[3456789]86-*-mingw* x86_64-*-mingw* 使用其中一个目标与传统的用于MinGW的GCC之间是否有区别?使用常规的GCC是否有意义,因为它有更多的最新版本,还是等到发布最新的MinGW GCC才有意义?正如您在SourceForge上发

在MinGW的SourceForge页面上,您可以下载GCC4.5.2,这是最新版本。在GNU镜像上,您可以下载GCC 4.6源代码,并使用可能的windows目标之一进行编译:

i[3456789]86-w64-mingw*
i[3456789]86-*-mingw*
x86_64-*-mingw*

使用其中一个目标与传统的用于MinGW的GCC之间是否有区别?使用常规的GCC是否有意义,因为它有更多的最新版本,还是等到发布最新的MinGW GCC才有意义?

正如您在SourceForge上发布的MinGW GCC附带的自述文件中所看到的,没有使用本地补丁,我认为这已经有相当一段时间了,因此,假设GCC代码库中没有需要新的本地补丁的更改,您可以很好地从其中一个镜像下载GCC源代码并自己构建它们

我过去也这样做过,特别是因为我使用的是gfortran,它正在进行大量的开发,所以我会不时地拍摄最新的快照并自己构建它,这样我就可以使用最近才引入的某些新功能


(我不得不承认,我花了一些时间才让构建运行起来,没有出现错误,在一段时间没有出现问题之后,我最近遇到了一些无法完全解决的新问题。我很快就要再试一次。)

MinGW是为了与Windows兼容。MinGW使用GCC/G++,而MinGW不是一个编译器,它基本上是Cygwin的精简版,尽可能使用MS libs。而且,GCC并没有真正改变。任何版本都可以。C已经多年没变了,所以没什么好担心的。对不起,我指的是用MinGW打包的GCC版本。我会编辑这篇文章。@tjameson你需要区分MinGW和MSYS。根据他们的网站,“MinGW提供了一套完整的开源编程工具集,适用于本机MS Windows应用程序的开发,并且不依赖于任何第三方C-Runtime DLL。”编译器当然是其中最重要的部分。同时,MSYS是你提到的剥落的Cygwin叉子。它“提供了一个通用命令行环境,特别适合与MinGW一起使用,用于将许多开源应用程序移植到MS Windows平台”。@tjameson:MinGW不是Linux和Windows API之间的转换。MinGW提供了一个编译器和一些必要的工具来生成本机Windows可执行文件,即运行时不需要第三方运行库,但使用可用的Microsoft C-runtime的可执行文件。为此,它为Windows系统库提供了标题和导入库。ak2是对的,您所说的是MSYS,它主要用于构建软件包,使用Linux上的“标准”自动构建系统。