Mingw:在Linux系统下编译Windows的程序

本文介绍如何在Ubuntu系统中使用mingw32工具链来编译Windows平台的C/C++程序,并提供了一个简单的示例程序及其编译指令。

Ubuntu下可以直接安装:
  sudo apt-get install mingw32 mingw32-binutils mingw32-runtime
  安装后编译程序可以:
  i586-mingw32msvc-g++(编译C++程序)
  i586-mingw32msvc-gcc(编译C程序)
  用法和gcc/g++非常类似。
  如hello.c程序:
  #include 
  int WINAPI WinMain (HINSTANCE hInstance,
  HINSTANCE hPrevInstance,
  PSTR szCmdLine,
  int iCmdShow)
  {
  MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
  return (0);
  }
  编译:
  i586-mingw32msvc-gcc hello.c -o hello.exe -mwindows
  注:-mwindows指示其编译的是windows程序,若编译的是console(命令行)程序,则不需要这个参数。
  若安装了wine,还可以测试一下这个程序:
  wine hello.exe

MinGW是Minimalistic GNU for Windows 的缩写。她是一个建立在GCC和binutils 项目上的编译系统。和其他GCC的移植版相比,她可以说是最接近Win32的一个了。因为,MinGW几乎支持所有的Win32API,这也是 MinGW的特色之一。她所连接的程序,不需要任何第三方库就可以运行了。在某种程度上看,MinGW更像是VC的替代品。 获得与安装 MinGW可以从MinGW的官方网站 http://www.mingw.org上获得。 如果,你要安装MinGW,那么你有两种安装方案。下面我来一一介绍。 安装方案一: 首先,你要从 http://www.mingw.org/download.shtml上下载如下几个压缩包。考虑到文件的更新和文章的灵活性。我将只写出文件的主要部分,将省去版本好和更新日期。 gcc-core C语言编译gcc-c++ C++语言编译mingw-runtime MinGW的运行时库(这个必须安装) win32api win32的API函数头文件和连接库 binutils MinGW的汇编器和连接器等基础工具 gdb MinGW中的调试工具 mingw32-make Make工具,用以更好的管理你的项目 然后,将上述文件逐一下载,然后全部解压缩到一个目录下就可以了,我这里假设你是移动到$(MINGW)这个目录下了。这样,你的MinGW就算安装成功了。 最后到DOS终端上,将当前目录转换成 $(MINGW)/bin 下。输入 C:\>gcc -v 看到一段gcc的版本信息,这就能说明,你的gcc已经可以正常工作了。 安装方案二: 你可以从 http://www.mingw.org/download.shtml上下载 MinGW5.0.2.exe 这个程序。至少,在我写此文的时候,这个是最新版本。 下载以后运行安装,至于安装过程,我想我就不一一介绍了。对于Windows下的开发人员,我想这个应该不是什么问题了。 在一切都选择好以后。这个程序就开始从Internet上下载所需要的压缩包。然后,逐一解开,安装。 总体来说,两种方法各有长处。不过,本人偏爱第一中方法。因为,控制度高,而且,更新也比较简单。自己心里也比较明了。 环境设置: 对于我们这些使用者来说,最好是能够简单方便的使用工具。所以,我们就需要设置环境,便于我们使用MinGW。 对于设置,我们只需要在环境变量中的PATH 变量中,添加$(MINGW)/bin这个路径就可以了。 这样,你就可以在任何目录下使用MinGW了。 ********* Create install directory Create a directory to install all the stuff into. This writer usually creates c:\MinGW and copies all of the above files in there. Now issue the following commands, remember to change the file names to match your downloads: cd /d c:\MinGW gzip -df binutils-2.16.91-20060119-1.tar.gz tar -xf binutils-2.16.91-20060119-1.tar cd info ren dir dir.binutils cd .. gzip -df gcc-core-3.4.5-20060117-1.tar.gz tar -xf gcc-core-3.4.5-20060117-1.tar cd info copy dir dir.gcc copy dir+dir.binutils cd .. gzip -df gcc-g++-3.4.5-20060117-1.tar.gz tar -xf gcc-g++-3.4.5-20060117-1.tar gzip -df mingw-runtime-3.9.tar.gz tar -xf mingw-runtime-3.9.tar cd info ren dir dir.gcc cd .. gzip -df w32api-3.6.tar.gz tar -xf w32api-3.6.tar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值