MinGW 和 MSYS

 今天在编译一个开源软件时,用到了MinGW 和MSYS。在这里介绍下他们的功能和配置。

MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。详情请参考<http://www.mingw.org>。

这里的“纯粹”是指「使用msvcrt.dll的应用程序」。无法使用MFC (Microsoft Foundation Classes)。

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。

MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。  
在基本层,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95 发行版以上的 Windows OS 有效,使用基本运行时间,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时间扩展。该功能是 Windows32 API 不具备的。下一个组成部分是 w32api 包,它是一组可以使用 Windows32 API 的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 Windows32 API 功能。  

MinGW 官方网站为 http://www.mingw.org
实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。
开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人(比如我)提供一套符合 GNU 的 GNU 工作环境。
(此前的 cygwin 虽然也是 GNU 的 Windows 移植,但是 cygwin 是有版权的,而不是 GNU。)
所以,使用 MinGW 我们就可以像在 Linux 下一样使用 GNU 程序开发工具。

GCC 就是 MinGW 的核心所在,GCC 是一套支持众多计算机程序语言的编译系统,而且在语言标准的实现上是最接近于标准的。并且 GCC 几乎可以移植到目前所有可用的计算机平台。(我的电脑上就还装有 DevKitPro,里面包含 GCC 的 ARM(for GBA/DS/GP32) 和 MIPS(for PSP) 版本。)
GCC 本身不像 VC 那样拥有 IDE 界面(在 Windows 上也存在 Dev C++ 之类的支持 MinGW 编译器的 IDE)。源代码编辑你可以选用任何你喜欢的文本编辑器(据说微软的开发人员包括 VC 的开发都不用 VC 所带的 IDE 编辑器,而是选用 GNU 的 VIM 编辑器)。然后使用 make 等工具来进行软件项目的编译、链接、打包乃至发布。而像 cvs(svn) 源代码版本控制工具可以让世界上任何一个角落的人都可以参与到软件项目中来。

关于 MFC,微软基础库类,这个随 VC++ 携带的一个源代码公开的开发包,和其他 Windows 程序开发包是一样的。如果有 VC++ 的授权,你完全可以使用 MFC 的源代码,也就是你使用 GCC 来编译 MFC 程序是完全可以的。
当然,GNU 下也很多 Windows 程序开发包,甚至有一些是支持跨平台使用的。不仅仅可以直接把源代码编译为 Windows 程序,也可以不经修改编译为其他操作系统的图形程序。
不过 GNU 下,最流行的图形界面开发库是 GTK+。GTK+ 也能很好的运行在 Windows 平台(比如 GIMP 和 Gaim)。
总体说来,使用 MinGW 就是 GNU。
MSYS:Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。是Windows下最优秀的GNU环境。(是否厌倦了Cygwin蜗牛般的shell环境,试试MSYS中的rxvt吧)

安装

使用MinGW:http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe?download

下载后安装,选择缺省选项(Current),选择g++,然后MinGW会自动下载相关的软件,期间可能需要不少时间(老外的网站)。

下载http://prdownloads.sourceforge.net/mingw/MSYS-1.0.10.exe?download

下载后安装,中间会问你MinGW安装在哪里,按照安装提示输入即可。

安装好后,设置windows的环境变量PATH,加上c:/MinGW/bin,然后运行菜单MinGW/MSYS/msys,


  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Mingw-msys bundle是一个用于Windows系统的开发工具包,其中包含了Mingw(Minimalist GNU for Windows编译器MSYS(Minimal System)工具集。它能够提供一系列的开发工具,如C和C++编译器、make工具、shell环境等,可以使开发者在Windows系统上进行C/C++的编译和开发工作。 离线资源是指可以在没有网络连接的情况下使用的资源。对于mingw-msys bundle来说,离线资源就是能够在没有网络连接的情况下安装和使用该开发工具包的文件。 对于mingw-msys bundle的离线资源,通常会提供一个压缩文件或者安装程序,这个文件可以在没有网络连接的情况下被下载到本地计算机。一旦下载完成,用户可以将这个文件拷贝到目标计算机上,并进行安装。 离线安装通常可以通过以下步骤完成: 1. 下载mingw-msys bundle的离线资源文件或安装程序到本地计算机。 2. 将离线资源文件拷贝到目标计算机上。 3. 打开安装程序或解压缩离线资源文件。 4. 根据安装程序的指导或解压缩后的文件夹内的说明,进行mingw-msys bundle的安装。 5. 安装完成后,可以在目标计算机上使用该工具包进行C/C++的编译和开发工作。 需要注意的是,离线资源一般是根据特定的系统架构和版本进行打包的,因此在下载时需要选择与目标计算机相匹配的资源文件。此外,由于mingw-msys bundle是一个较大的开发工具包,离线安装可能需要较长时间和较大的磁盘空间。 总之,mingw-msys bundle的离线资源可以提供用户在没有网络连接的情况下安装和使用该工具包的便利。通过离线安装,用户可以在没有网络的环境中进行C/C++的编译和开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值