MinGW

安装与使用简介

安装方法:其实很简单,如下:

Step one:

到这里下载

MinGW,

网速慢的话可能打不开,

是个外国网站

(上面的网站镜像可能

出了点问题

,

有的东西下载下来却不能用

,

等我有空我会给大家提供下载)

Step two :

双击安装包,一切按默认设置,一路的“下一步”以后就能搞定。

Step

three:

环境变量可能会在安装过程中自动设置好,在

cmd

中输入

gcc

测试一下,假如显

gcc: no input file

,则安装已成功。否则,自己把

c:/mingw/bin

的目录手动加到环境变量

中,方法如下(很简单的哟,没必要害怕嘛)

1.

右键“我的电脑”

==>

属性

==>

“高级”

==>

“环境变量”

2.

在用户变量中,假如有

path

变量,就选择“编辑”

,在原先值后面加个分号,在把

MinGW

bin

目录加上就好了。

假如没有

path

就自己

“新建”

一个,

再把

MinGW

bin

目录加上。

3.

测试方法同上,

over

这里是英文用法

,

高手请看,下面是我的翻译,仅供参考,翻译不得当的地方请不吝指出。

使用

MinGW

进行编译和创建(应有程序)

怎样创建一个终端应用程序

这里有一个例子。

下面是一个简单的

c

语言程序的代码示例,

请把它剪切并粘贴到一个叫作

hello.c

的文件中试试看

#include <stdio.h> 

int main(int argc, char **argv) 

{ 

printf ("Hellon"); 

return (0); 

} 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

假如你想从

hello.c

生成一个在终端模式下的可执行文件

hello.exe.

试一下下面的方法:

gcc -c hello.c

这个命令把

hello.c

编译成一个目标文件

hello.o,

然后用下面的方法:

gcc -o hello hello.o

这个命令从

hello.o

文件生成一个可执行的

hello.exe

文件。事实上,作为一种选择,你可以

使用下面的命令把编译和链接放到一步中完成:

gcc -o hello hello.c

下面是一个简单的

c++

程序的代码示例,复制并粘贴到一个叫

hello.cpp

的文件中试试看:

#include <iostream> 

int main(int argc, char **argv) 

{ 

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

return (0); 

} 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

对于

c++

程序来说,使用下面的命令来编译和链接:

g++ -c hello.cpp

g++ -o hello hello.o

(同样你可以把他们合并到一步中完成)

2.

如何创建

windows

应用程序

这里有一个例子。下面是一个简单的

windows

应用程序的代码示例,请把它复制并粘贴到

一个叫作

hello.c

的文件中试试看

:

#include <windows.h> 

int WINAPI WinMain (HINSTANCE hInstance, 

HINSTANCE hPrevInstance, 

PSTR szCmdLine, 

int iCmdShow) 

{ 

MessageBox (NULL, "Hello", "Hello Demo", MB_OK); 

return (0); 

} 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

假如你想从一个叫

hello.c

c

语言源文件创建一个从窗体执行的(

Windows

executable

hello.exe,

请试用下列命令:

gcc -c hello.c

首先产生了目标文件

hello.o,

然后用:

gcc -o hello hello.o -mwindows

这会从

hello.o

创建一个可执行的

hello.exe, -mwindows

用来说明要创建的是

Windows

应用程

序而非从终端执行的程序,它确保正确的

Windows

库被链接。

要同时得到一个终端屏幕和标准的

Windows

应用程序,在

-mwindows

标志后面增加一个

-mconsole

标志(

flag

假如你有新的资源(一个后缀名为

.rc

的文件)也要添加到你的程序中

,

你需要编译这些资源

文件

resource file

和别的一些资源文件,

并且在链接时包含进这些编译过的资源文件以创

建你的程序

,

下面的例子将告诉你怎样编译和链接一个叫做

resfile.rc

的资源文件:

windres -o resfile.o resfile.rc

gcc -o hello hello.o resfile.o -mwindows

3.

怎样创建

dll

文件

?

这里有个例子。把下面的代码复制并粘贴到一个叫

dllfct.h

的文件中:

#ifdef BUILD_DLL 

// the dll exports 

#define EXPORT __declspec(dllexport) 

#else 

// the exe imports 

#define EXPORT __declspec(dllimport) 

#endif 

// function to be imported/exported 

EXPORT void tstfunc (void); 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

把下面的代码复制并粘贴到一个叫

dllfct.c

的文件中

:

#include <stdio.h> 

#include "dllfct.h" 

EXPORT void tstfunc (void) 

{ 

printf ("Hellon"); 

} 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

把下面的代码复制并粘贴到一个叫

hello.c

的文件中

:

#include "dllfct.h" 

int main () 

{ 

tstfunc (); 

return (0); 

} 

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

为了创建一个

dll

和一个使用他的程序,试试下面的命令:

gcc -c hello.c

gcc -c -DBUILD_DLL dllfct.c gcc -shared -o tst.dll -Wl,--out-implib,libtstdll.a dllfct.o

gcc -o hello.exe hello.o -L./ -ltstdll

MinGW安装与使用简介的更多相关文章

  1. MinGW安装教程

    首先说明一下 1) MinGw只是其中一种GCC编译环境的安装程序,还有像Cygwin也是差不多的; 2) 由于安装的时候有些地方忘了截图,所以图有些是借鉴别人的; 3) 还要就是安装MinGw,最好 ...

  2. Spotlight on Mysql在Windows平台下的安装及使用简介

    Spotlight on Mysql在Windows平台下的安装及使用简介   by:授客 QQ:1033553122 1.   测试环境 Win7 64位 mysql-connector-odbc- ...

  3. MinGW安装教程——著名C/C++编译器GCC的Windows版本

    前言本文主要讲述如何安装 C语言 编译器——MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用. 编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人更 ...

  4. MinGW安装与环境变量配置和Sublime Text 2搭建C++编译环境

    MinGW安装与环境变量配置 从http://sourceforge.net/projects/mingw/下载MinGW,安装到D:\MinGW.工具集选择安装(之后还可以进行安装卸载):至少需要安 ...

  5. MinGW安装图文教程以及如何配置C语音编程环境

    MinGW安装图文教程以及如何配置C语音编程环境 转载自:http://www.jb51.net/softjc/192017.html MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序 ...

  6. MinGW - 安装和配置 / MinGW - Howto Install And Configure

    MinGW在线安装程序下载地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get- ...

  7. MinGW安装和使用基础教程

    MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++.ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便.MinGW提 ...

  8. MinGW安装和使用(不是mingw-w32)

    MinGW全称Minimalist GNU For Windows,是个精简的Windows平台C/C++.ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便.MinGW提 ...

  9. Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解

    Eclipse IDE for C/C++ Developers和MinGW安装配置C/C++开发学习环境详解 操作系统:Windows 7 JDK版本:1.6.0_33 Eclipse版本:Juno ...

随机推荐

  1. svn 集成 redmine 账户验证的终极解决方案

    svn 集成 redmine 账户验证的终极解决方案 赖勇浩(http://laiyonghao.com) 动机 对于大部分开发团队来说,一般都需要一套 SCM 系统,通常是 svn + redmin ...

  2. 修改GDAL库支持RPC像方改正模型

    最近在做基于RPC的像方改正模型,方便对数据进行测试,修改了GDAL库中的RPC纠正模型,使之可以支持RPC像方改正参数. 下面是RPC模型的公式,rn,cn为归一化之后的图像行列号坐标,PLH为归一 ...

  3. iOS学习新知识-加速计和陀螺仪

    一.CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用:让我们知道方向. 运动类型软件:让我们知道我们跑步多少公里. 社交软件中的摇一摇功能 ...

  4. 【一天一道LeetCode】#87. Scramble String

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  5. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)

    自己的游戏自己更需要多玩,这样才能首先发现不足的地方.所以本猫到现在已经忍一个地方很久了,就是弹出moneyLayer后每次都要输入数字才能关闭,这多少让人不爽.于是本篇我们就修正这个小小的不便. 首 ...

  6. close()方法应该在finally语句中调用吗?

    翻译人员: 铁锚 翻译时间: 2013年12月20日 原文链接: Should .close() be put in finally block or not? 下面列出了关闭输出流(output w ...

  7. mysql进阶(十七)Cannot Connect to Database Server

    Cannot Connect to Database Server 缘由 由于不同的项目中使用的数据库用户名与密码出现了不一致的情况,在其中之前较早一个项目执行过程中出现"The user  ...

  8. LeetCode之“树”:Validate Binary Search Tree

    题目链接 题目要求: Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is ...

  9. 报表软件公司高价悬赏BUG,100块1个我真是醉了

    一直在用帆软的报表软件FineReport来做项目,也一直关注着这个公司的发展. 看到<提BUG,拿奖金>的这个活动,有些疑问和思考. 一般FineReport新版本在正式发布前,都会经过 ...

  10. RedHat系列软件管理(第二版) --二进制软件包管理

    RedHat系列软件管理 --二进制软件包管理 Linux学习思想-Linux相对与Windows来非常透明,因此,无论是系统,还是软件,都会有本身自带,或者是Man给提供的非常详细的说明/帮助文档, ...