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. String压缩 解压缩

    数据传输时,有时需要将数据压缩和解压缩,本例使用GZIPOutputStream/GZIPInputStream实现. 1.使用ISO-8859-1作为中介编码,可以保证准确还原数据 2.字符编码确定 ...

  2. SQLServer导出数据到MySQL

    1从SQLServer导出数据 执行BCP: bcp "..." queryout "F:\test.txt" -c –S1.2.3.4 -Usa -P1111 ...

  3. lk中内联调用的dsb()

    lk中内联调用的dsb() 比如lk的uart_dm_init()函数就调用了dsb() /* Configure the uart clock */ clock_config_uart_dm(id) ...

  4. 为什么不要重载 && 和 || 操作符!!!

    理论知识: 1)&&和 || 是C++中非常特殊的操作符 2)&&和 || 内置实现了短路规则 简单说明一下短路规则. demo1 #include <iostr ...

  5. 认证模式之Spnego模式

    Spnego模式是一种由微软提出的使用GSS-API接口的认证模式,它扩展了Kerberos协议,在了解Spnego协议之前必须先了解Kerberos协议,Kerberos协议主要解决身份认证及通信密 ...

  6. Android开发技巧——TextView加载HTML的图片及代码显示问题

    前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...

  7. c++中各个数据类型的大小

    来哦金额各种数据类型有助于我们对这门语言的更好掌握,更好的利用之来编程,下面是一个简单的获得数据类型的大小的程序,虽然简单,但实用性却很高. #include <iostream> usi ...

  8. 视音频编解码学习工程:H.264分析器

    =====================================================视音频编解码学习工程系列文章列表: 视音频编解码学习工程:H.264分析器 视音频编解码学习工 ...

  9. rt-thread的位图调度算法分析

    转自:http://blog.csdn.net/prife/article/details/7077120 序言 期待读者 本文期待读者有C语言编程基础,后文中要分析代码,对其中的一些C语言中的简单语 ...

  10. Activity堆栈管理

    task就好像是能包含很多activity的栈. 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 ac ...