转自:http://sweetcandy2010.blog.163.com/blog/static/136935769201001213831139/
距离最开始学习C++已经4年了,一直以来都只是使用visual studio的编译和执行,对于visual studio的其他菜单项都几乎不去碰。这次是想真的认真去学习一下,而自己的学习也不涉及到很复杂的工程,只是单纯的学习语言,写写算法之类,所以想换个别的编译器来用。于是从早上坐到电脑面前就开始找别的编译器。最终选择了MinGW,严格来说MinGW并不是单纯的编译器。网上对于它的介绍都零零碎碎,所以我就在下载安装的同时就看了一些对于它的介绍,顺便整理一下,作为自己的储备。
我是第一次接触MinGW,所以就从最简单的说起。
1 引子
C++程序的执行过程:一般来说C++程序的执行过程可以分为两步:第一步将.cpp源文件编译成对象文件,第二步将对象文件链接成为可执行文件。(具体来说,编译过程还可细分为两个阶段:预处理阶段和编译阶段)。
根据上述的程序执行过程我们可以知道在执行过程中需要有编译器和链接器。而我们还需要在文本编辑器中编写程序的源代码,以及调试程序所需的调试器等,将所有的这些集中在一起就形成了IDE(集成开发环境)。IDE是一种辅助开发人员进行开发的应用软件。利用IDE,你可以完成编码,调试,运行这一系列的过程。而仅仅提供将程序从源文件转换到可执行文件执行的软件就是我们通常所说的编译环境或者称为编译器。MinGw是gcc在windows下的编译环境。
2 MinGW:Minimalist GNU for Windows
源起:GNU是在1983年由Richard Stallman发起的一项活动的名称,这项活动旨在开发一个类似 Unix ,且为自由软件的完整的操作系统:GNU 系统。这项活动在这二十几年来已经创造了很多强大的软件工具:编译器,文本编辑器,操作系统(linux)等等。GCC(GUN Compiler Collection)就是GNU工程创造的编译器集合,目前支持ada,java, fortran,C,C++,object c等语言。http://colorado.javaeye.com/blog/283779)
首先到http://sourceforge.net/projects/mingw/ 手动去下载最新的MinGW,或使用MinGW-5.1.4.exe,自动下载。但后者往往不能下载到最新的稳定包。
1手动下载说明:
http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite
可从:http://sourceforge.net/projects/mingw/ 选择包下载。
2、运行 MinGW-5.1.4.exe 的话,选择 Candidate,一般会下载最新的包,选择如下几项:
MinGW base tools
g++ compiler
MingGW Make
默认路径C:\MinGW,我装在 D:\cplusplus\mingw
根据:http://wiki.codeblocks.org/index.php?title=MinGW_installation,需要下载如下必要的包:
* http://prdownloads.sf.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz
* http://prdownloads.sf.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz
* http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz
* http://prdownloads.sf.net/mingw/mingw-utils-0.3.tar.gz
* http://prdownloads.sf.net/mingw/w32api-3.6.tar.gz
* http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz
* http://prdownloads.sf.net/mingw/mingw32-make-3.81-1.tar.gz
另外一个是调试器:
* http://prdownloads.sf.net/mingw/gdb-6.3-2.exe
安装完后就配置环境变量吧。
控制面板--〉系统--〉系统详细设置--〉环境变量
MINGW_PATH=D:\cplusplus\mingw
C_INCLUDE_PATH=%MINGW_PATH%\include;%MINGW_PATH%\lib\gcc\mingw32\3.4.5\include
CPLUS_INCLUDE_PATH=%MINGW_PATH%\include\c++\3.4.5;%MINGW_PATH%\include\c++\3.4.5\mingw32;%MINGW_PATH%\include\c++\3.4.5\backward;%C_INCLUDE_PATH%
LIBRARY_PATH=%MINGW_PATH%\lib;%MINGW_PATH%\lib\gcc\mingw32\3.4.5
PATH=%MINGW_PATH%\bin;%MINGW_PATH%\libexec\gcc\mingw32\3.4.5
注意:上面的很多3.4.5这个是gcc的版本号,要以真实的文件夹为准。
现在开一个CMD吧
输入g++ --version
看到以下信息的话就成功一半了。
Reading specs from D:/cplusplus/mingw/bin/../lib/gcc/mingw32/3.4.5/specs
Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --wi
th-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --dis
able-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --d
isable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --with
out-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enabl
e-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.5 (mingw-vista special r3)
继续新建一个test.cpp文件
内容如下
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
cout << "Yeah, MinGW!" << endl;
return 0;
}
在cmd下面输入编译命令
g++ -o test test.cpp
这次是什么都没看到就是成功了。
接着输入test.exe
看见以下的信息了么
Yeah, MinGW!
现在,可以在XP下面编写你的C或者C++程序了。