3.1:MinGW 是什么?

MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU ( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好基础支持,为了在Windows下工作的程序员熟悉Linux下的C++工程组织提供了条件。

3.2:为什么使用MinGW?

因为我和很多IT人士一样,不愿意吊死在$M这棵树上。且不说开源这个理念的伟大,仅仅就Windows的安全性也已经让人们很不安心了。如果再深入一点从编写程序来看,在C++标准尚不成熟时期产生的MFC今天看来基本上就是盖子大叔凭着个人(或许是$M公司^^)理解所使用的C++方言。在我们期盼C++0x时代到来之前,没有任何实际行动能比严格遵循C++的ISO标准更能表达我们对于C++这个伟大的哲学体系的尊重。从这个角度来说,遵循ISO标准的实现就是好的实现。所以,MinGW不会比VC差,况且,他既是开源软件家族中的一员,也是*nix平台下事实标准GCC的翻版。如果有一天我们开始使用Linux平台了,会因为今天透过MinGW所了解的GCC知识而受益。

3.3:MinGW 的下载和安装。

MinGW的官方主页是:

http://www.mingw.org/

你很容易找到下载的链接。下载文件是放在sourceforge上的,这也表明MinGW本身也是个在开发中的项目。

http://sourceforge.net/project/showfiles.php?group_id=2435

下载页面上有很多令人眼花缭乱的文件,不用害怕,因为这才是软件最真实的一面。当然,这个软件的提供者为普通使用者也提供了最为简单的下载和安装方式。你只需要下载“MinGW自动下载和安装软件”(Package: Automated MinGW Installer; Release: MinGW-5.1.3)MinGW-5.1.3.exe就可以根据提示简单的安装了。并且,安装后的MinGW甚至可以通过这个文件来自动升级,非常的人性化。

安装时需要注意以下几个方面:

1) 建议选择Current版本,Previous表示以前的版本;Candidate表示当前正在开发的版本,可能正在测试中,还不是非常稳定。

2) 在选择安装模块的时候,根据我们的需要,只需要选择以下三个:MinGW base tools, g++ compiler, MinGW Make。

3) 安装路径请选择一个容易找到的地方,默认的C:/MinGW 是不错的选择。

3.4:MinGW的简单使用。

打开“命令提示符”(console)窗口,我们可以简单的把目录转到比如 C:/MinGW/bin 这样的位置去工作。但是这显然不是一个好的方式,因为这样一定会把bin里面搞得很混乱。所以,我们在另外一个“干净”的地方,比如 D:/Project ,把这里设置成MinGW的工程工作区。这样,我们需要在系统的path里面添加能找到bin下面*.exe文件的路径,所以做一个批处理文件是最简单的方法。我的startg++.bat文件这样写的:

@set path=C:/mingw/bin;%PATH%;

@echo ---**欢迎使用MinGW(GCC)系统**---

@echo Update by lf426 ( E-mail: zbln426@163.com ) 2007-12-10

@cmd

然后,你可以建立一个该文件的快捷方式放在桌面上,再为这个快捷方式指定一个漂亮的图标,nice!

接下来,我们需要建立一个cpp文件,用什么来写cpp呢?

3.4.1:(插播)Vim ??

这又是一个有着传统的“悠久”历史,很好很强大的,免费开源的,牛x文本编辑器。官方主页是:

http://www.vim.org/

不用怀疑,你可以很容易的下载Vim的安装程序,并且很容易的安装,不需要任何的“破解”-_-!!

因为Vim很好很强大,所以,太多的内容就留给包括我自己在内的大家自己去学了(我的逻辑Orz)。我们这里简单的只需要了解如下几点:

1) 建立一个名为 abc.def 的文本文件,在console窗口下输入:

vim abc.def

你就进入了vim的编辑界面。

2) 按"i"键,就可以输入文本了。退回到编辑方式,按Esc,再进入插入方式,再按i,就这样...

3) vim在编辑方式下本来的光标移动是h, j, k, l,不过,上下左右箭头也是可以使用的。

4) 编辑完成后,(编辑方式下)按Shift+Z两次,或者:wq就可以保存退出。使用:q!可以不保存强制退出。

3.4.2:MinGW的简单使用。(续)

继续刚才的话题,我们建立一个叫 hello.cpp 的文件(据说Hello World是程序员的咒语...)

#include <iostream>

int main(int argc, char* argv[])

{

std::cout << "Hello World." << std::endl;

return 0;

}

我们可以简单的使用命令:g++ hello.cpp,与最传统的Unix系统下的C编译器一样,MinGW为我们生成了一个名为a的可执行文件,当然,在win32下,名字叫做a.exe。

可以使用参数 -o 来指定编译的可执行文件的名字:g++ -o hello.exe hello.cpp (或者也可以不写名exe,直接g++ -o hello hello.cpp 结果一样)。这样,得到的文件就是hello.exe。

可以使用参数 -c 来生成与源文件名相同的目标文件:g++ -c hello.cpp ,得到的文件是hello.o 。

目标文件可以继续连接成可执行文件:g++ hello.o ,得到文件a.exe 。

多个源文件,目标文件和库文件都可以同时编译和连接。

3.5:获得MinGW下的SDL开发库。(Development Libraries)

下载页面:http://www.libsdl.org/download-1.2.php

下载:SDL-devel-1.2.13-mingw32.tar.gz (Mingw32)

3.6:为MinGW设置SDL库。

找到你在硬盘上安装MinGW的位置,类似:

C:/MinGW

打开include文件夹,在里面建立一个新文件夹,取名为SDL,打开这个新的文件夹:

C:/MinGW/include/SDL

然后,将SDL Development Libraries中include文件夹里面的文件全部拷贝到刚才建立起来的那个新文件夹中。

然后,回到MinGW的文件夹下,打开lib文件夹:

C:/MinGW/lib

将SDL Development Libraries中lib文件夹下的libSDL.dll.a, libSDL.la和libSDLmain.a三个文件拷贝到刚才的那个MinGW的lib文件夹下。

最后,把SDL Development Libraries中lib文件夹下的SDL.dll文件拷贝到

C:/WINDOWS/system32

下。当然,另外一个选择是将SDL.dll随时绑定到使用了SDL库编译的*.exe文件所在的文件夹中。这通常在发布你的程序的时候使用。

3.7:建立第一个SDL程序。

运行我们之前的那个startg++.bat 文件,打开console窗口,执行命令:vim main.cpp ,将下列代码写入并保存。

#include <iostream>

#include "SDL/SDL.h"

int main(int argc, char* argv[])

{

try {

if ( SDL_Init(SDL_INIT_EVERYTHING) == -1 )

throw "Could not initialize SDL!";

}

catch ( const char* s ) {

std::cerr << s << std::endl;

return -1;

}

std::cout << "SDL initialized./n";

SDL_Quit();

return 0;

}

执行g++命令:g++ -o MySDL.exe main.cpp -lmingw32 -lSDLmain -lSDL

参数 -l (小写的L)使库文件得以与源文件一起编译和连接。(简单的可以认为-labc即连接了名称符合libabc.*的所有库文件)

最后说明的两个参数是:-mconsole 和 -mwindows

他们的效果是使可执行程序是带命令行控制窗口的或者是纯Windows窗口的,缺省情况下应该是带命令行控制窗口的。

运行mysdl.exe可以看到文件的执行情况。

MinGW介绍与使用相关推荐

  1. C语言学习第一天~Eclipse MinGW环境搭建

    一.环境准备 windows 二.Windows环境下gcc编译器 1.MinGW介绍 MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on W ...

  2. MinGW下载与配置

    MinGW下载与配置 MinGW介绍 下载 配置环境变量 MinGW介绍 MinGW(即:Minimalist GNU on Windows )是windows平台上一个免费开源的gcc编译器,它同时 ...

  3. Dev-Cpp/Mingw32 环境介绍

    http://wxjiao.blog.hexun.com/1945078_d.html Dev-Cpp/Mingw32 环境介绍 [转贴 2005-12-30 14:37:51]   字号:大 中 小 ...

  4. golang直接调用ffmpeg预编译类库(windows)

    MinGW介绍 MINGW(Minimalist GNU on Windows)是一个可以在windows下编译Linux程序的仿真linux编译环境,他提供了linux下的C.C++头文件.系统库和 ...

  5. vscode配置c语言环境

    1. 软件介绍 vscode 简介 vscode是一个免费的.开源的跨平台的编辑器,vscode平台下有许多插件,对于打代码起着很方便的作用,现在各类东西追求的功能并非是本身强大,而是可扩展方面的强大 ...

  6. golang直接调用ffmpeg预编译类库(windows)已更新

    MinGW介绍 MINGW(Minimalist GNU on Windows)是一个可以在windows下编译Linux程序的仿真linux编译环境,他提供了linux下的C.C++头文件.系统库和 ...

  7. windows下mingw64编译glog

    项目使用qt+mingw环境,因此需使用mingw编译的glog,现将编译过程记录如下: 1.编译环境 1.1 cmake环境 前往cmake官网下载cmake安装包安装,安装过程比较简单不再详述. ...

  8. MinGW MinGW-W64介绍

    Table of content 0 Preface/Foreword 1 MinGW-w64 1.1 使用MinGW-w64的原因 1.2 MinGW-w64使用场景 1.3 官网 2 GCC &a ...

  9. MinGW基本情况介绍

    MinGW (发布时间:2008年7月7日) (原文地址:http://www.mingw.org/wiki/MinGW) MinGW(Minimumlist GNU for Windows--用于W ...

最新文章

  1. 全球第三位艾滋病痊愈者出现,靠脐带血干细胞新疗法抵抗病毒,此前已患病9年...
  2. php正则表达式匹配img中任意属性的方法
  3. (六)Vue3.0预学习
  4. java xml签名_Java使用DSA密钥对生成XML签名的方法
  5. java学习(30):巩固练习
  6. 从Windows到鸿蒙——操作系统的前世今生
  7. bzoj4195 [Noi2015]程序自动分析
  8. 《播客》项目总结——web标准页面设计方面(转)
  9. 前苹果员工创办激光雷达公司,获4500万美元融资,曾参与苹果机密项目
  10. PyTorch-Transformers:一款可处理最先进NLP的惊人模型库
  11. pycharm安装后,找不到Python解释器怎么办
  12. c语言的编译器还真是不好理解...
  13. SYN6288语音合成模块
  14. SpringBoot整合银联无跳转支付附源码
  15. Matlab模拟布朗运动
  16. 何为民间IP,小游戏竟然还可以这样做?脑洞大开
  17. STM32F1主从定时器设置
  18. js在打开新页面的时候用新的标签页打开并且在关闭打开的页面的时候刷新父页面的方法...
  19. Xshell重启服务器
  20. iMeta | 德加合作揭示葛藤菌根真菌的遗传多样性和群落组成

热门文章

  1. 单臂路由配置-ZTE中兴交换机
  2. 图解正则表达式,这一篇就够了
  3. Linux环境搭建 - update https://apt.repos.intel.com 报错
  4. 树莓派Remote GPIO启用方法
  5. 阿里云自助建站方式汇总
  6. JAVA并发编程-视频教程
  7. 在Ubuntu下安装vim
  8. SQL语法创建及管理数据表结构
  9. Win10如何批量修改文件名,实现向后加固定的数字,001.jpg——999.jpg
  10. 西电捷通TISec解决方案保障配电网通信安全