MinGW
======
MinGW 提供了一套简单方便的Widnows下的基于GCC程序开发环境。
与MinGW同步还有一套MSYS(Miminal SYStem)工具,类似在Linux/Unix环境下的自动脚本配置和MakeFile的自动生成。
开发环境
======
如果仅仅为了使用MinGW的开发环境,使用MinGW提供的就够了。
MinGW的三种下载版本
======
current--最稳定的版本
previous
candidate
为建立MinGW下的gcc/g++开发环境,需要的基本模块组件
======
(1) w32api-3.6.tar.gz [win32下的头文件库文件集合]
(2) mingw-runtime-3.9-tar.gz [MinGW 的运行支持库模块集合]
(3) mingw-utils-0.3.tar.gz [MinGW 常用工具集合]
(4) binutils-2.15.91-20040904-1.tar.gz [MinGW支持 gcc/g++的 binutils集合,如经典的ld等]
(5) gcc-core-3.4.2-20040916-1.tar.gz [MinGW 支持gcc/g++的core集合]
(6) gcc-g++-3.4.2-20040916-1.tar.gz [MinGW 的gcc/g++编译工具集合]
(7) mingw32-make-3.80.0-3.tar.gz [MinGW 的make工具集合]
【
以上的文件解压缩到固定的目录,比如C:\MinGW,就可以使用了。但是不熟悉的用户可能会遇到各种各样的问题,为避免你这样的烦恼,我们去下载一个主安装软件
】
======
MinGW-5.1.3.exe
MinGW的安装
======
MinGW的使用
======
(0) 进入
MinGW的安装目录
,如
C:\MinGW
,找到bin目录下mingw32-make.exe,把该文件拷贝到本地(复制粘贴),把文件名改为 make.exe(之后就可以直接使用make来操作makefile)
(1)假设在D:\project 下开发,后续本节中文件建立均在该目录下操作
(2) 创建三个文件:cmnd.bat,makefile,main.cpp
cmnd.bat
======
set path=C:\mingw\bin;%PATH%
cmd
makefile
======
makefile for MinGW Hello World Test
@copyright 2007/05/01 by zenf
CC = g++
AR = ar
LD = ld
RM = del
RM = rm -rf
MV = MOVE /Y
CP = copy
C++FLAGS = -g -Wno-deprecated -Wall -Werror -I.
OBJ_LIST = $(subst .cpp,.o,$(wildcard *.cpp))
TARGET = main.exe
all: depend.dep $(TARGET)
$(TARGET): $(OBJ_LIST)
<table>
$(CC) -o $(TARGET) $(OBJ_LIST) -mconsole
<table>
main.exe
clean:
<table> $(RM) *.o *.obj *.tmp *.exe *.dep *.s
depend.dep:
<table> $(CC) -M $(C++FLAGS) $(wildcard *.cpp) > $@
-include depend.*
.cpp.o:
<table> $(CXX) -c $(C++FLAGS) $<
%.dir:%
<table> $(MAKE) -C $< $(DEBUG_MAKE)
(3) 编译运行
console 模式
双击 cmnd.bat, 进入command模式
输入 make, make自动调用makefile 编译 main.cpp,并且自动运行编译后的结果main.exe
(4) 编译运行
windows模式
编辑main.cpp,修改为如下代码内容
main.cpp
======
include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox(NULL,"Hello World,My Dear","Hello Demo",MB_OK);
return (0);
}
makefile
======
-mconsole 修改为 -mwindows
======
http://www.mingw.org/wiki/HOWTO
Cygwin和MingGW的比较
======
Cygwin也是一款 windows下的 gcc/g++的免费开发环境。虽然基于windows,但是提供类似Linux的运行环境。
大部分的Linux程序均可 在Cygwin下开发成功后,在Linux下编译发布。
不足:速度慢。MingW完全基于widnows运行,速度较快。
Cygwin 基于 交叉编译(cross-compile)工具集,可以开发多种平台下的嵌入式软件。