MinGW 介绍

SDL新手教程(一):3、MinGW 下的安装与设置

作者:龙飞

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/
        你非常easy找到下载的链接。下载文件是放在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) 安装路径请选择一个easy找到的地方,默认的C:/MinGW 是不错的选择。

3.4:MinGW的简单使用。

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

@set path=C:/mingw/bin;%PATH%; 
@echo ---**欢迎使用MinGW(GCC)系统**---
@echo Update by lf426 ( E-mail: [email protected]163.com ) 2007-12-10
@cmd

然后,你能够建立一个该文件的快捷方式放在桌面上,再为这个快捷方式指定一个美丽的图标,nice!
        接下来,我们须要建立一个cpp文件,用什么来写cpp呢?

3.4.1:(插播)Vim ??

这又是一个有着传统的“悠久”历史,非常好非常强大的,免费开源的,牛x文本编辑器。官方主页是:
http://www.vim.org/
        不用怀疑,你能够非常easy的下载Vim的安装程序,而且非常easy的安装,不须要不论什么的“破解”-_-!!
        由于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能够看到文件的运行情况。

时间: 2024-10-10 14:01:48

MinGW 介绍的相关文章

MinGW介绍与使用

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

mingw介绍

http://www.mingw.org/ MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库. MinGW,即 Minimalist GNU For Windows.它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序. 安装过程选择需要安装的编译器类型: 安装过程中 MinGW会在线下载所需要的模块包, 最后下载完后的目录如下

Windows系统结合MinGW搭建软件开发环境

MinGW介绍 MinGW,即Minimalist GNU For Windows,它包含了GNU工具集的运行环境.GCC编译器工具集以及其它的GNU程序开发工具(如make.gawk.grep等等).借用MinGW,可以在Windows操作系统上,使用强大的.丰富多彩的开源工具进行软件开发,例如vim.gcc.python等等. 该工具的官方首页为:http://www.mingw.org/ MinGW安装 标准的MinGW安装过程需要连接网络在线安装,需要先去网站的下载页面,下载最新的安装文

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

一.环境准备 windows 二.Windows环境下gcc编译器 1.MinGW介绍 MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称. 实际上 MinGW 并不是一个 单纯的C/C++ 编译器,而是一套 GNU 工具集合.除开 GCC 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等). 开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系

MingW编译virt-viewer

在http://www.spice-space.org/download.html可以下载到windows版本的virt viewer virt-viewer-x86-0.5.7.msi和virt-viewer-x64-0.5.7.msi是使用MingW编译出来的,源码就是使用virt-viewer-0.5.7.tar.gz 如果需要定制virt viewer,就需要从源码编译出可执行的二进制码,本文就是描述编译windows版virt viewer的过程. MinGW 在使用MinGw编译vi

浪叫兽的自我介绍 (完整版) 讲述一段如何进入大数据行业

大家好,我是智浪淘沙,在大数据比赛的圈子里大家喜欢称呼我为浪叫兽. 我先做一个简单的且不如意的人生轨迹介绍把,出生农村的我,对自己的才智一直是很自信的.可能是由于自己的天性,不会表达自己加不会按部就班的喜欢上学习,我小学和初中都默默无闻,成绩也不怎么理想,但是始终好着面子,依然是觉得自己很聪明,自己以后能干些大事.而时常被考分的现实所打击.进入高中后,人开始长高了,人也帅气了一点点,玩心也大了,学了学校的美术,音乐,播音主持,体育的专业课,其中美术可能是一个星期,播音主持半学期,音乐半学期,体育

windows下使用cmake+mingw配置makefile

前面一节说了cmake简易使用,但是实际开发中项目文件非常多,使用哪种简易方式会导致代码十分混乱,因此本文介绍一种cmake管理大型项目的demo流程. 具体步骤如下: 1.创建相关的项目目录 [cpp] view plain copy cmd mkdir hello cd hello mkdir inlude lib src debug 其中inlucde用来存放头文件,lib用来存放库文件,src用来存放源程序,debug用来作调试,类似于qt等IDE环境的配置 [cpp] view pla

MinGW gcc 生成动态链接库 dll 的一些问题汇总 (补充)

我曾经写过一个小短文,介绍MinGW gcc 生成动态链接库 dll 的一些问题.当时写的并不全面.最近又遇到写新的问题.这里记录一下,做个补充. 通常情况下,dll 中的函数如果采用 _stdcall ,则生成的dll中函数名会被修饰. 比如有如下的函数: //dll.c int  _stdcall add(int a, int b) { return a + b; } 最终 dll 文件中的函数名是 [email protected] 但是有时我们希望函数名不要添加这种修饰,就像 windo

ffmepg mingw + vs2012 编译

网上有很多mingw 编译ffmpeg的介绍,但是多很难顺利完成,整理了网上的一些资料把编译过程整理了一下,便于大家使用 1.搭建 MinGW 的编译环境,这里不做过多介绍,网上一大堆 2.安装yasm 地址:http://yasm.tortall.net/Download.html,如果不需要x264支持可以不安装 改名为yasm.exe放到C:\WINDOWS\system32 或者 C:\MinGW\msys\1.0\bin文件夹下. 3.安装pkg-config 下载pkg-config