GCC学习(1)之MinGW使用

GCC学习(1)之MinGW使用

因为后续打算分享一些有关GCC的使用心得的文章,就把此篇当作一个小预热,依此来了解下使用GNU工具链(gcc、gdb、make等)在脱离IDE的情况下如何开发以及涉及的编译相关的原理。当然,这方面的内容开发环境不限于使用MinGW,像之前介绍过的Cygwin,或者直接在Linux系列的操作系统上,一般都自带GUN工具。

作者:AlphaGL。版权所有,欢迎保留原文链接进行转载

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-toolkitmingw32-basemingw32-gcc-g++msys-base标记下,其它的可选。


在Installation->Apply Changes,应用下,就会自动安装所选的包了。

配置环境变量

例如:我的MinGW安装在D:\env\MinGW。如图:


并把MINGW_HOMEMINGW_MAKE_HOME添加到Path中。%MINGW_HOME%\bin;%MINGW_MAKE_HOME%\bin;


在Windows终端中,输入gcc --versionmake --version,能输出相应的版本信息,则证明配置成功了。

MinGW使用

新建hello_mingw.chello.hhello.cmakefile,代码如下:
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相关的内容分享,敬请期待。

技术交流QQ群:528655025
作者:AlphaGL
出处:http://www.cnblogs.com/alphagl/
版权所有,欢迎保留原文链接进行转载

原文地址:https://www.cnblogs.com/alphagl/p/6234895.html