Dev-Cpp/Mingw32 环境介绍(12)

来源:互联网 发布:aes ctr java 实现 编辑:程序博客网 时间:2024/05/01 07:10

Dev-Cpp/Mingw32 环境介绍(12)

上文回顾:
在上一篇文章中,我们了解了如何在MinGW中设置GTK和使用GTK。从这一篇开始,我我们就要开始进入中级篇了。也就是说,我们主要以MinGW和其他GCC在Win32下的使用为主。而不是如同原来只介绍那些操作IDE,安装组件等。如果说,以前我们是在跑道上,那么现在我们就要起飞了。所以,我们会比较注重以MakeFile来说明程序的配置。同时会带上一些Dev-Cpp的设置。

第十七章 在Win32下安装GCC的过程

  有很多人会问,我们既然有了Dev-Cpp这样简单的安装工具,为什么还要去自己学习如何安装MinGW等GCC编译器呢?不是多此一举么?要知道,从现在开始,你已经是在读中级篇的内容了,你也不想只知道通过安装Dev-Cpp来安装MinGW吧。既然你已经选择了GCC,那么知道如何安装GCC在Win32下的一些变体也是一个中级学生该知道的内容。

  MinGW,我想不用介绍了。因为Dev-Cpp中自带的就是这个。Cygwin,一个在Win32下模拟Unix中断的软件组,其实对于真正的Win32开发来说,Cygwin并不是首选,所以我这里也就省略了。Djgpp,一个可以在Win32下开发16位程序的软件,当然也可以让你的软件在DOS下运行。通过上面的一些介绍,我想各位一定知道,我们要安装的编译器就是,MinGW,Djgpp。

  MinGW的安装,其实非常简单。你可以从 http://www.MinGW.org 上下载最新的版本。不过建议你看仔细了,因为有些还是在测试中的。所要下载的文件如下(默认情况下我所安装的是C语言,而不包括C++,如果需要,只要下载C++的文件就可以了)。

binutils    其中包括ld,as等编程需要的程序组
gcc-core    C语言编译器
mingw32-make-3.80.0-3    Make程序
mingw-runtime    其中包括编译程序的大部分头文件和库文件(不包括Win32API)
w32api    这个里面是Win32 API 的头文件和库文件

如果,你需要其他的比如Java,C++,Ada你都可以从上面的网址中下载到。Good Luck。

下载后,全部解压缩到一个目录中,比如 MinGW目录中。如果存在重名现象,通常都是 许可证等的文件,可以履带掉或者不复制。
因为,这些程序包都是使用GNU的压缩工具生成的,所以。文件名不是zip。你可以用WinRAR来开。或者使用 GNUWin32 的工具来解压缩。
http://www.gnuwin32.org
下载tar程序。
如果你下载的文件是 *.tar.gz那么下载 gzip
如果你下载的文件是 *.tar.bz2那么下载 bz2程序(不推荐这个)

然后,使用命令
gunzip (文件名.tar.gz)
tar -xvf (文件名.tar)

就可以解开了。

其实,这些工具的安装都是非常简单的。我个人比较喜欢那些直接解压缩的工具。这样的话,不会生成什么其他的垃圾文件。


  Djgpp,这个可能对各位比较陌生。这个是在DOS下的GCC。你没有看错。这的确是在DOS下的GCC。你可以在MS-DOS的启动盘上运行Djgpp的程序。你也可以在FreeDOS上的启动盘上做这些。这的确是真的。说起来,Djgpp的安装会比较麻烦。
http://www.delorie.com/djgpp/ 上你可以下载到你所要的文件,这个是Djgpp的官方网站。
在下载的页面上有一个为用你给的参数来为你选择下载文件的页面。你可以更具自己的要求来选择。
我这里,下载的是(时间比较久了,肯能已经很老了)
bnu216b.zip
djdev203.zip
gcc400b.zip
gdb611b.zip
mak3791b.zip
txi48b.zip

将这些文件全部解压缩到一个目录中。然后,为系统设置变量。

DJGPP=(Djgpp的安装路径)/djgpp.env

这样就算安装好了。因为,是在中级篇了。所以,很多东西不会像以前那样一步步的教了。

 Cygwin,虽然前面说不想介绍。但这里还是介绍一下吧。
可以先从Cygwin的官方网站下载setup.exe这个安装程序只是一个网络安装版本。很多东西还是要你从网上下载的。你可以使用他直接从网上下载。也可以自己下载。下面,我介绍一下我的安装方式。
http://mirrors.kernel.org/sources.redhat.com/cygwin/release/
从上面的地址中,获得setup.ini这个配置文件。从而获得依赖性。
下面我从中抽取一段来解释一下。

@ gcc
sdesc: "C compiler upgrade helper"
category: Devel
requires: cygwin ash binutils w32api mingw-runtime libintl3 gcc-core gcc-g++ gcc-mingw-core gcc-mingw-g++
version: 3.4.4-1
install: release/gcc/gcc-3.4.4-1.tar.bz2 46 c616cffee0f344c37fd4e045a7a87054
source: release/gcc/gcc-3.4.4-1-src.tar.bz2 46 c616cffee0f344c37fd4e045a7a87054
[prev]
version: 3.3.3-3
install: release/gcc/gcc-3.3.3-3.tar.bz2 46 c616cffee0f344c37fd4e045a7a87054
source: release/gcc/gcc-3.3.3-3-src.tar.bz2 46 c616cffee0f344c37fd4e045a7a87054

@ gcc是包名。比如这里就是GCC工具。
requires: 是依赖的包,比如 cygwin 你可以通过搜索 @ cygwin 在这个文件里找到这个包的信息。
install:  是安装的文件位置。
source: 就是这个程序的源文件地址(通常我们不下载)。

按照这种方式你就可以然后,你把这些文件按照网站上的目录结构保存好。然后运行setup.exe 使用本地安装就可以了。

问外音:
我不喜欢Cygwin,因为觉得这个东西总喜欢在注册表里做一些修改。
其实,真正深入GCC的编程就会发现,不论是MinGW还是Cygwin或者是Djgpp都是不完全的。所以,近期我准备安装一个FreeBSD玩玩。可能以后就会彻底放弃了这个Windows了。
下一篇文章,我将继续深入介绍 GCC for Win32 环境的内容。对于你们深入了解GCC有很大的帮助。其实,很多人都对GCC有误解,总以为MS-C++如何好。其实,GCC也并不比MS-C++差啊。毕竟GCC是Linux下的一个优秀开发环境,Linux内核等都是用GCC编译出来的。MS-C++能编译出Win32内核么?对了,Win32的内核源文件根本没有,又哪来的编译一说?


 STUDIO软件开发组(SDT)
STUDIO Development Team
北斗星君(黄庠魁)

原创粉丝点击