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