MinGW,MinGW-w64和MinGW-builds之间有什么区别?
我应该使用哪一个在Windows 8机器上使用Eclipse IDE编译c ++ 11源代码?
答案 0 :(得分:34)
MinGW是Windows的GCC端口。并非所有的Windows API都受支持(但是对于许多程序来说,支持的东西已经足够了)并且它仅适用于32位程序(通常也可以在64位Windows上运行,但有些不能,但是你不能将它们编译为64位)。
MinGW-w64是一个改进的版本,支持32位和64位,以及更多的WinAPI(仍然不是全部,因为它有很多工作,但比MinGW更多)。
MinGW-w64只提供源代码,但没有“只使用”编译器的二进制文件。
MinGW-builds是一个有点独立的项目,可以在最有用的配置中提供二进制文件。要获得专门构建的MinGW-w64,仍然可以进行手动编译。
如果不需要任何异常,使用MinGW-builds self-installer是最简单的方法。另请see here获取有关自我安装程序的帮助。
答案 1 :(得分:0)
Mingw将您的代码编译为在Windows下运行的Windows二进制文件(32位)。
Mingw-w64使得Linux二进制文件无法在Mingw-w64 shell之外的Windows中运行。
用于Linux的Windows子系统(WSL)也生成Linux二进制文件。看起来编译器和外壳程序与Mingw-w64相同。 WSL只是一个更完整的系统。您可以在WSL下安装其他Linux程序,除非需要图形界面。您可以从WSL访问Windows文件系统,反之亦然。
Cygwin使Windows二进制文件可以在Cygwin Shell之外的Windows下运行,只要您具有Cygwin DLL即可。这提供了一个与Windows完全兼容的类似Linux的环境。
我不知道Mingw版本。有人可以回答它产生什么样的二进制文件吗?