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. 水题 Codeforces Round #302 (Div. 2) A Set of Strings

    题目传送门 /* 题意:一个字符串分割成k段,每段开头字母不相同 水题:记录每个字母出现的次数,每一次分割把首字母的次数降为0,最后一段直接全部输出 */ #include <cstdio> ...

  2. 递推DP URAL 1225 Flags

    题目传送门 /* 1 r; 2 b; 3 w 2不能在最前面,所以dp[1] = 2; dp[2] = 2: 13 or 31 dp[i] = dp[i-1] + dp[i-2]; 只加1或3时,总数 ...

  3. BFS POJ 3278 Catch That Cow

    题目传送门 /* BFS简单题:考虑x-1,x+1,x*2三种情况,bfs队列练练手 */ #include <cstdio> #include <iostream> #inc ...

  4. html加强

    <html> <head><title>hello</title></head> <body> <p>段落</ ...

  5. List.Sort以及快速排序ZZ

    经常看到有人因为使用.net中的集合类处理海量数据时性能不够理想,就武断的得出.net不行,c#也不行这样的结论.对于.net framework这样的类库来说,除了性能以外,通用性和安全性同样重要, ...

  6. MongoDB的安装与CRUD(JAVA)

    http://blogread.cn/it/article/4348?f=wb (MongoDB) 安装: 1)下载MongoDB数据库(这里使用Windows 32 bit版) http://dow ...

  7. 二分查找算法java实现

    今天看了一下JDK里面的二分法是实现,觉得有点小问题.二分法的实现有多种今天就给大家分享两种.一种是递归方式的,一种是非递归方式的.先来看看一些基础的东西. 1.算法概念. 二分查找算法也称为折半搜索 ...

  8. hdu Strange fuction

    本题是一道二分题,但是要利用导数来求最小值.对原函数进行求导,得到的导函数为f(x)=42*pow(x,6)+48*pow(x,5)+21*pow(x,2)+10*x-y;因为0<=x<= ...

  9. VirtIE6

    VirtIE6--能在win7上直接运行的单文件 http://down.iefans.net/VirtIE6.rar

  10. 在myql sqlserver里边怎么快速找到带有关键字的表

    sql server 全部库: ),) set @id=(select count(*) from master..sysdatabases) drop table #t create table # ...