发表于: other | 作者: | 日期: 2013/5/23 06:05
标签: ,

MinGW简介
开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。 MinGW 是指只用自由软件来生成纯粹的 Win32可执行文件的编译环境,它是 Minimalist GNU on Windows 的略称。
实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk、bison 等等)。
MSYS 和 MinGW 都包括了许多的子套件在里面。首先 MSYS 是 Minimal SYStem 的缩写,它提供了类似 Bourne shell 环境下要编译程式的一些 utility 。
GCC 就是 MinGW 的核心所在,GCC 是一套支持众多计算机程序语言的编译系统,而且在语言标准的实现上是最接近于标准的。并且 GCC 几乎可以移植到目前所有可用的计算机平台。(我的电脑上就还装有 DevKitPro,里面包含 GCC 的 ARM(for GBA/DS/GP32) 和 MIPS(for PSP) 版本。)
总体说来,使用 MinGW 就是 GNU,是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境,大家可以试一下。
安装方法
其实很简单,如下:
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
int main(int argc, char **argv)
{
printf (“Hellon”);
return (0);
}

假如你想从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
int main(int argc, char **argv)
{
std::cout << "Hello" << std::endl; return (0); }

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

g++ -c hello.cpp
g++ -o hello hello.o

(同样你可以把他们合并到一步中完成)
2.如何创建windows应用程序
这里有一个例子。下面是一个简单的windows应用程序的代码示例,请把它复制并粘贴到一个叫作hello.c的文件中试试看 :

#include
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox (NULL, “Hello”, “Hello Demo”, MB_OK);
return (0);
}

假如你想从一个叫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);

把下面的代码复制并粘贴到一个叫dllfct.c的文件中:

#include
#include “dllfct.h”
EXPORT void tstfunc (void)
{
printf (“Hellon”);
}

把下面的代码复制并粘贴到一个叫hello.c的文件中:

#include “dllfct.h”
int main ()
{
tstfunc ();
return (0);
}

为了创建一个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

: https://blog.darkmi.com/2013/05/23/3255.html

本文相关评论 - 1条评论都没有呢
Post a comment now » 本文目前不可评论

No comments yet.

Sorry, the comment form is closed at this time.