在Windows下配置MinGW编译环境和Code::Blocks编辑器

有很多初学者问我C语言或C++用什么编辑器比较好,也有人问我哪个编辑器比较好用。如果对方是个新手,我会推荐Dev-C++;否则我就会回答“Code::Blocks”。在Windows下我最喜欢的还是MinGW与Code::Blocks的组合。所以今天我来介绍一下如何在Windows下安装配置它们。

新手们(包括一部分有一定编程经历的人)往往会混淆“编译器(Compiler)”和“编辑器(Editor,IDE)”这两个概念。编译器负责把C/C++代码编译成可执行代码,换而言之,它读取.c或.cpp文件并生成.exe文件(Windows下);编辑器是方便编辑代码用的,它存取.c或.cpp并把里面的代码以比较适合的样式(比如自动缩进、代码高亮)显示在屏幕上,方便编辑,本质上它是一个带有附加功能的记事本。一般来说,我们用编辑器打开代码文件,要编译时,编辑器把文件保存并调用编译器编译这个文件,编译器就会生成可执行文件。

现在的Windows,TCC(Turbo C的编译器)早已衰落,流行的C/C++编译器有两个:

  • Microsoft C++ Compiler:内嵌在Visual C++中,功能很不错,感觉做得很精致,和编辑器的嵌合很好。
  • MinGW GCC:GCC全称是GNU Compiler Collection,著名的开源多语言编译器,编译出的代码执行效率比普通编译器高不少,支持单文件编译,得到很多编辑器支持。通常下载到的MinGW GCC都包含包含C编译器gcc-core、C++编译器gcc-g++和另外几种语言的编译器。

流行的编辑器则有很多:

  • Microsoft Visual Studio:简称VS,功能强大,体积也很强大,它捆绑有编译器。但是软件体积和运行速度都显出它的臃肿。它不支持单文件编译,并且“解决方案”中会生成一大堆相关文件。
  • Eclipse:IBM的IDE,开源,支持Java等很多语言,常常用于Java的编辑,缺点和微软的一样——很大很慢。我基本没用过,不多加评论。
  • NetBeans:SUN的IDE,开源,支持Windows、Linux等很多操作系统。与Eclipse类似,支持的语言很多。它内置MinGW作为C/C++编译器。其本身使用Java编写,运行慢,且有些bug。
  • Dev-C++:经典的迷你C/C++编辑器,开源,支持Windows、Linux等。内置了MinGW,编辑器功能不强但是非常实用,而且支持单文件编译与调试!这些功能对小程序来说都无比合适。但是Dev-C++在大工程编辑上有缺陷,而且最高版本停留在了4.9.9.2——项目已经在五年前停了。
  • wxDev-C++:Dev-C++的一个著名改版,加上了更强的工程管理功能和wxWidgets组件。wxWidgets是开源界时下最流行的界面工具集,能在Windows、Linux等系统下生成不同的Native级界面代码。wxDev-C++有wxWidgets的界面编辑器,被用来制作基于wxWidgets的软件。
  • CodeLite:一个比较标准的IDE,各方面比较均衡,不支持单文件编译。我只是简单玩过,不多加评论。
  • Code::Blocks:中量级的C/C++编辑器,时下非常流行,因为它功能强大,而体积并没有因此而变得臃肿。它可以选用已有的MinGW、Microsoft C++ Compiler或其他可识别的编译器。它是典型的开源软件,支持很多操作系统,插件很多,并依靠插件实现了wxWidgets界面编辑器等功能,甚至还有小游戏插件- -,它还支持Dev-C++的插件包哦!最新的Code::Blocks支持单文件编译,但是不支持单文件调试。有一个不太适合新手的地方:最新版没有中文包。

还有其他的各种编辑器,不过很多要收费。

下面还是回到正题,讲讲MinGW+Code::Blocks的安装方法。分3步:安装MinGW,安装Code::Blocks稳定版,安装Code::Blocks Nightly Builds。

安装MinGW 方法一(不推荐)

其实Code::Blocks网站上有一个包含MinGW的版本供下载,不过版本比较旧,官方说不支持Vista。因而最好自行单独下载安装MinGW。

SourceForge.net(开源软件网站,接下来的很多地址都来自于这里)有一个MinGW的官方在线安装包,下载地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download

在安装向导里,你可以选择需要的语言,如C++,Java,ada等。安装时会从SourceForge.net读取文件,因此请保证网络连接(安装程序会参考IE的代理设置)。如果你身处教育网且不能访问SourceForge就比较杯具,自己去找找别的下载网站吧。

另外,注意安装过程中的这个页面:

MinGW安装选项

必须至少选中MinGW base tools、g++ compiler、MinGW Make三项。

这个方法的不足之处在于很多常用的MinGW组件没有包含进来,比如gdb调试器,iconv字符集转换器等。下面的方法可以加装gdb。

gdb是MinGW配套的调试器,不存在于上述MinGW安装包中。因此要单独下载。在这个页面可以找到MinGW的其他相关组件的下载链接,可以找到“GNU Source-Level Debugger”一项,这一栏中包含gdb最新版。现在的最新版是7.1,下载地址:http://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/GDB-7.1/gdb-7.1-2-mingw32-bin.tar.gz/download

下载后解压,然后复制到MinGW安装目录即可——此时压缩包中的bin文件夹和MinGW安装目录中的bin文件夹应该会合并,如果合并了就说明你复制到的位置对了。

安装MinGW 方法二(推荐)

这个方法比较方便,如果不需要除C/C++以外的编译器,推荐使用这个方法。

有人为C/C++编译环境通常用到的组件重编译并打了个包,叫做TDM’s GCC/mingw32 Builds,你可以看看最新版下载页面。现在我看到的最新版(32位)下载链接是http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.5.1.exe/download

直接安装即可。这个包已经包含了gdb、iconv等。

安装Code::Blocks稳定版

最新的稳定版是10.05。下载链接:http://download.berlios.de/codeblocks/codeblocks-10.05-setup.exe

如果你不想用10.05,你可以选择上一个稳定版8.02。给几个链接,任选一个下载安装即可(现在貌似后两个比较好用):

http://downloads.sourceforge.net/codeblocks/codeblocks-8.02-setup.exe

http://download.berlios.de/codeblocks/codeblocks-8.02-setup.exe

http://download2.berlios.de/codeblocks/codeblocks-8.02-setup.exe

这几个链接,是在官方网站的这个页面找到的。

安装Code::Blocks Nightly Builds

Nightly Builds提供一些新的功能,当然你可以不安装。

在Code::Blocks论坛里常常会放出最新的Nightly Builds版本:http://forums.codeblocks.org/index.php?PHPSESSID=0ab4555fb9123d5e4ef7e2dfc23a5ee7&board=20.0

这一页的的一个非黑体字的栏目就是最新的版本,下载下来解压缩到安装目录即可(有很多文件被替换就对了)。

本文更新时最新Night Builds版本为2010.9.4的6570版,下载链接:http://prdownload.berlios.de/codeblocks/CB_20100904_rev6570_win32.7z。

这样,Code::Blocks就进入很健康的状态了,试着写段程序吧!第一次使用的时候,Code::Blocks会让你指定编译器,如果你已经安装了Visual Studio,你也可以选择用它作为编译器(其实我不推荐这么做)。另外,练好你的英文哦!(实在练不好的只好找非官方中文包,不一定兼容最新的Nightly Builds。)

附:消除Code::Blocks生成程序中中文乱码的方法

因为字符集的问题,Code::Blocks在Windows下会生成含乱码的程序。这里,我们可以给编译器增加参数来达到消除乱码。

首先,你的MinGW需要包含iconv。按前面介绍的“安装MinGW方法二”安装的MinGW包含iconv,不必操心了。如果你的MinGW不包含iconv,用下面的方法是无效的,只会带来一个新的编译错误。

好了,讲讲具体操作。

找出编译器和调试器设置:Settings->Compiler and Debugger。

左边选Global compiler settings,右边选Compiler settings下的Other options。

在下面大大的文本区中可以填入编译器选项。我们需要加上一行

-fexec-charset=GBK

加上后的效果如图所示:

如果你打开了一个别的编辑器中编写的源代码,你可能需要再加上一行

-finput-charset=GBK

这两个命令指定了MinGW编译时生成或读取文件所使用的字符集。

你可能感兴趣的:(C++)