GCC学习(1)之MinGW使用
因为后续打算分享一些有关GCC的使用心得的文章,就把此篇当作一个小预热,依此来了解下使用GNU工具链(gcc、gdb、make等)在脱离IDE的情况下如何开发以及涉及的编译相关的原理。当然,这方面的内容开发环境不限于使用MinGW,像之前介绍过的Cygwin,或者直接在Linux系列的操作系统上,一般都自带GUN工具。
MinGW介绍
MinGW全称Minimalist GNU for Windows,也是从Cygwin发展而来的,但更精简。是一套将GCC和GNU Binutils移植到Windows平台的编译工具集。支持编译C、C++、Objective-C、Fortran及Ada等语言(同时,也是GCC支持的语言)。同时,使用MinGW编译出来的程序不需要额外的第三方DLL就能直接在Windows下运行。以上介绍均来自MinGw维基百科,简单来说,就是提供了一套在Windows平台也能使用GUN的工具。
MinGW官网:
http://www.mingw.org/
MinGW下载地址:
http://sourceforge.net/projects/mingw/
MinGW安装
MinGW的安装步骤很简单。如图:
分别把
mingw-developer-toolkit
、mingw32-base
、mingw32-gcc-g++
、msys-base
标记下,其它的可选。
在Installation->Apply Changes,应用下,就会自动安装所选的包了。
配置环境变量
例如:我的MinGW安装在D:\env\MinGW。如图:
并把
MINGW_HOME
和MINGW_MAKE_HOME
添加到Path中。%MINGW_HOME%\bin;%MINGW_MAKE_HOME%\bin;
在Windows终端中,输入
gcc --version
和make --version
,能输出相应的版本信息,则证明配置成功了。
MinGW使用
新建hello_mingw.c
、hello.h
、hello.c
、makefile
,代码如下:
hello_mingw.c:
#include <stdio.h>
#include "hello.h"
int main()
{
printf("hello mingw\n");
test();
return 0;
}
hello.h:
#include <stdio.h>
void test();
hello.c:
#include "hello.h"
void test()
{
printf("this is a test");
}
makefile:
hello.exe:hello_mingw.o hello.o
gcc hello_mingw.o hello.o -o hello
hello_mingw.o:hello_mingw.c
gcc -c hello_mingw.c
hello.o:hello.c hello.h
gcc -c hello.c
clean:
rm *.exe *.o
在Windows命令终端中执行如下命令:
至此成功生成hello.exe,运行并执行了正确的输出。
以上便是借助MinGW来熟悉gcc
以及makefile
的使用的一个小实践。后续还有更多关于gcc相关的内容分享,敬请期待。