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. Spring的国际化资源messageSource

    Spring中可以使用两个类加载资源文件:ReloadableResourceBundleMessageSource和ResourceBundleMessageSource. 可配置如下message ...

  2. cocos2d ccitemimage

    #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class H ...

  3. MathType 插入定义的chapter and section break后无法隐藏

    每一章标题后面插入一个“Next Section Break”,这样定稿后各章文件组合为总文件后,方程编号会自动递增,如果已经插入了默认的“Equation Chapter 1 Section 1”, ...

  4. windows phone 7 中怎样定义和使用资源(Resource)

    1. 系统资源. 在wp7开发中可以看到很多使用系统资源(resource)的例子,例如默认的新page: http://blog.csdn.net/matrixcl/article/details/ ...

  5. virsh命令

    查看虚拟机: [root@super67 ~]# virsh list Id    Name                           State --------------------- ...

  6. 关于SparkMLlib的基础数据结构 Spark-MLlib-Basics

    此部分主要关于MLlib的基础数据结构 1.本地向量 MLlib的本地向量主要分为两种,DenseVector和SparseVector,顾名思义,前者是用来保存稠密向量,后者是用来保存稀疏向量,其创 ...

  7. java执行时的两个常见问题(无法加载主类)

    问题1:javac不是内部或者外部命令 问题2:找不到或无法加载主类*** 这两个问题都和jdk的配置有关,一个是path一个是classpath.path:去哪里找编译或运行等工具(必须设置),cl ...

  8. IP地址在数据库里面的存储方式

    大多数公司的表结构都需要经过DBA进行审核,有时候你会看到存储IP地址采用varchar(15),这种方式都是传统的做法,这种方法需要占用15个字节,那么有更省空间的做法么?肯定是有的,那就是用int ...

  9. Html - 仿QQ空间右下角工具浮动块

    仿QQ空间右下角工具浮动块 <style type="text/css"> .cy-tp-area>.cy-tp-fixbtn>.cy-tp-text { ...

  10. java 从args[]中赋值和程序直接赋值不一样?

    System.out.println("对应的中文: " + decodeUnicode(args[0])); 赋值args[0] = “\u7b80\u4ecb” System. ...