MinGW介绍

MinGW,即Minimalist GNU For Windows,它包含了GNU工具集的运行环境、GCC编译器工具集以及其它的GNU程序开发工具(如make、gawk、grep等等)。借用MinGW,可以在Windows操作系统上,使用强大的、丰富多彩的开源工具进行软件开发,例如vim、gcc、python等等。

该工具的官方首页为:http://www.mingw.org/

MinGW安装

标准的MinGW安装过程需要连接网络在线安装,需要先去网站的下载页面,下载最新的安装文件(mingw-get-setup.exe),双击开启安装进程:

由于安装文件的版本会经常变动,这里就不再详细说明安装的步骤,但需要注意如下几点:

  • MinGW默认的安装位置是“c:\MinGW”,如果没有特殊需求,按照默认即可
  • 安装过程中,会弹出“MinGW Installation Manager”安装管理界面,选择需要安装的组件。需要选中如下的内容(如果需要编译C++代码,也要选中G++编译器)

  • 根据选中的组件的多少,安装程序会下载所需的软件包,根据网速的不同,安装过程会持续一段时间

MinGW的配置

安装成功后,可以执行“开始”-->“MinGW”-->“MinGW Shell”,从而进入MinGW的命令行界面。此时,熟悉Linux的朋友就如鱼得水了。不过不熟悉也没有关系,就从现在开始熟悉吧。

打开MinGW的命令行界面,需要进行一些配置,主要包括美化命令行界面(默认的太丑了)、下载额外的软件包等。

  • 使用mingw-get命令安装minTTY(mingw-get是MinGW下的软件包安装工具,就像Ubuntu的apt-get)

mingw-get install msys-mintty

  • 在桌面上建立指向“C:\MinGW\msys\1.0\msys.bat --mintty”的快捷方式
  • 配置vim、配置/etc/profile等等

编译器的选择和使用

MinGW安装时,如果选择了mingw-develop-toolkit,则会默认安装用于X86平台gcc编译器。如果需要编译其他平台的source code,则需要交叉编译工具。交叉编译工具可以在“http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/”上免费下载(需要提供姓名和E-mail地址),会在用到交叉编译工具时介绍,这里不再详细说明。

编写第一个程序:Hello word

1. 进入MinGW Shell

2. 使用vim编辑器(为什么要用vim?我只能说,如果一个程序员熟悉了使用vim编辑代码,就再也改不掉了!)新建一个c文件,并添加如下的代码

vim main.c

  1. #include
  2. int main(void) {
  3. printf("Hello world\n");
  4. return 0;
  5. }

3. 保存后,使用gcc编译

gcc main.c

4. 编译成功后,会在当前目录生成“a.exe”,执行该文件,就可以打印“Hello world”了

./a.exe

[xxx@xxx ~]# ./a.exe 
     Hello world

     原创文章,转发请注明出处。蜗窝科技,www.wowotech.net

http://www.wowotech.net/soft/6.html

Windows系统结合MinGW搭建软件开发环境的更多相关文章

  1. Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程

     Windows+QT+Eclipse+MinGW搭建QT开发环境详细教程 一.准备工具: QT-SDK for Windows:http://get.qt.nokia.com/qtsdk/qt-sd ...

  2. 【Hadoop】:Windows下使用IDEA搭建Hadoop开发环境

    笔者鼓弄了两个星期,终于把所有有关hadoop的环境配置好了,一是虚拟机上的完全分布式集群,但是为了平时写代码的方便,则在windows上也配置了hadoop的伪分布式集群,同时在IDEA上就可以编写 ...

  3. windows平台CodeBlocks MinGW C++11开发环境搭建

    前言: 本文是以单独下载codeblock编辑器跟MinGW编译器这种方式进行安装,下载带MinGW编译器的codeblocks版本安装配置方式跟这个类似. 一: 下载并安装MinGW 这个参考我写的 ...

  4. windows系统中eclipse C c++开发环境的搭建

    搜索了网上各种版本的eclipse c,c++ ,头都晕了..以前的版本很多都失效了..下面这个是搞了两天才调通的.超级强大,推荐 1.先装MinGW 2.配置环境变量3.然后把安装目录\mingw\ ...

  5. Windows下使用VS2017搭建FLTK开发环境

    环境介绍 系统:win10 64位 IDE:VS 2017 Community FLTK版本:1.3.4-2 下载FLTK 截止到本文编写,FLTK的最新稳定版本是1.3.4-2.我们从官网(www. ...

  6. 使用Windows的Linux子系统搭建嵌入式开发环境

      亲,都9102年了,还在用VMware跑嵌入式交叉编译链吗?   北京时间2019年6月13日,Windows 10发布预览版本18917.版本的主要功能是Linux子系统(windows sub ...

  7. Windows使用Vagrant&VirtualBox搭建虚拟开发环境

    Vagrant 是一款用来构建虚拟开发环境的工具 , 我们可以通过 Vagrant 封装一个 Linux 的开发环境 , 分发给团队成员 ; 成员可以在自己喜欢的桌面系统 Mac/Windows/Li ...

  8. 详解小白利用eclipse+CDT+MinGW搭建C++开发环境

    安装JDK.安装Eclipse     2.打开Eclipse 找到“help”下的“Eclipse marketplace” 如图:    3.选择相应的C插件: 因为安装过所以显示installe ...

  9. Java基础学习总结(52)——Liunx系统Centos上搭建Java开发环境

    一.安装jdk 1.查看Linux自带的JDK是否已安装 [plain] view plain copy print? java –version 如果出现openjdk,最好还是先卸载掉openjd ...

随机推荐

  1. SU suchart命令学习

  2. 简单几何(凸包) POJ 2187 Beauty Contest

    题目传送门 题意:求两点的距离平方的最大值 分析:凸包模板题 /************************************************ * Author :Running_T ...

  3. BZOJ3325 : [Scoi2013]密码

    从以每一位为中心的回文串长度可以用Manacher倒推出$O(n)$对相等和不等关系. 将相等的用并查集维护,不等的连边. 然后输出方案时若还没被染过色,则求一个mex. #include<cs ...

  4. POJ 2117 (割点+连通分量)

    题目链接: http://poj.org/problem?id=2117 题目大意:在一个非连通图中,求一个切除图中任意一个割点方案,使得图中连通分量数最大. 解题思路: 一个大陷阱,m可以等于0,这 ...

  5. 过滤html字符的方法

    昨天在看公司网站的产品详细页面,发现只有一个公司的JS产品轮换特效不会出,找了半天,程序都是一样的,原因是什么呢?原来是公司的别名是xiandahg,里面含有and字符被过滤掉了. public st ...

  6. <!--[if IE]>….<![endif]--> (<!--[if !IE]>||<![endif]-->)的用法

    1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 2. <!--[if IE]> 所有的IE可识别 ...

  7. 李洪强-C语言9-C语言的数据,变量和常量

    一.数据 图片文字等都是数据,在计算机中以0和1存储. (一)分类 数据分为静态数据和动态数据. ①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的.一般以文件的形式存储 ...

  8. salt-ssh使用

    salt-ssh 是 0.17.0 新出现的一个功能,一听这名字就知道它是依赖 ssh 来进行远程命令执行的工具,好处就是你不需要在客户端安装 minion,也不需要安装 master(直接安装 sa ...

  9. php代码审计基础笔记

    出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...

  10. WPF DataGrid的分页实现

    原理:其实分页功能的实现大家都清楚,无非就是把一个记录集通过运算来刷选里面对应页码的记录. 接来下我们再次添加新的代码 <Grid> <DataGrid  Name="da ...