随笔 - 70, 文章 - 0, 评论 - 9, 引用 - 0
数据加载中……

MSYS编译环境搭建

    Windows平台在采用mingw编译器的时候,为了为熟悉UNIX/LINUX环境的开发人员提供方便,推荐采用MSYS环境来实现。


MSYS
简介

   
MSYS是一个小型的GNU环境,是一个通过将Linux源代码在Win32上编译而成的UNIX工作环境;

    MSYS类似于Cygwin,但是由于工作原理的不同,速度更快、体积更小、功能强大、便于携带;

    使用MSYS可以取代商业的VC环境,同样开发出商业版权的程序而不受任何版权限制;

    mingw不支持UNIX/LINUX系统下的POSIX仿真层,但POSIX的某些功能可以被msvcrt提供(MSVC编译环境)。如果遇到此情况可以采取2种方式解决:

        1 修改代码,采用其他方式实现;

        2 可以在Cygwin编译环境下进行编译。

        Unlike Cygwin, MinGW doesn't provide Linux or Unix system calls or a POSIX emulation layer. Some POSIX compatibility is provided by the supported runtime library, msvcrt.dll. A few additional functions are provided to help with portability. However, most likely a POSIX application would need to be ported to use Windows APIs in order to compile with MinGW, just as you would to compile with MSVC or Borland or Watcom C++.

 

MSYS下载与安装

前提:已安装mingw

在安装Qt时已自动安装了mingw。可以拿来使用。(qt-sdk-win-opensource-2010.05.exe

MSYS下载:

    MSYS-1.0.10.exe http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/msys-core/msys-1.0.10/MSYS-1.0.10.exe/download

MSYS安装:

根据要求设置即可。

在询问mingw的路径时,输入mingw所在地路径。C:/Qt/2010.05/mingw

 

MSYS使用

打开MSYS,到Makefile目录下,执行make命令即可。

注:Makefile需要自行生成。如果不熟悉,可以借助工具生成,如DEV C++

 

其他
    MSYS美化(msys.bat):
        修改start rxvt -backspacekey  -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn Courier-12 -tn msys -geometry 80×25 -e /bin/sh –login -i
        为start rxvt -backspacekey  -sl 2500 -fg white -bg black -sr -fn Courier-14 -tn msys -geometry 100×40 -e /bin/sh –login -i

    man工具下载安装:
        man依赖于groff,它们都可以在http://sourceforge.net/projects/mingw/files/MSYS/ 中下载到。下载当前版本:
        groff-1.20.1-2-msys-1.0.13-bin.tar.lzma下载地址:http://sourceforge.net/projects/mingw/files/MSYS/groff/groff-1.20.1-2/groff-1.20.1-2-msys-1.0.13-bin.tar.lzma/download
        man-1.6f-2-msys-1.0.13-bin.tar.lzma下载地址:http://sourceforge.net/projects/mingw/files/MSYS/man/man-1.6f-2/man-1.6f-2-msys-1.0.13-bin.tar.lzma/download
        .lzma需要7zip工具来进行解压,7zip(http://www.7-zip.org/)下载地址:http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7z920.exe/download
        下载并解压后,拷贝到MSYS目录下(C:\msys\1.0)。现在就已存在了man命令。
        但默认是没有manual文件的,需要自己去下载安装。可以去kernel.org的man-pages下载,man-pages-3.32.tar下载地址:http://www.kernel.org/pub/linux/docs/man-pages/
        下载并解压后,打开MSYS,进入到解压后的目录,执行make命令。
        此时出现了sh:install permission denied错误。它是由windows7的用户权限设置造成的,可以在控制面板--系统和安全--操作中心--更改用户帐户控制设置,将等级降到最低来解决(需要重启)。
        但再次执行make时,出现 c:\msys\1.0\bin\install.exe:*** couldn't reserve space for cygwin's heap in child, win32 error 0.
        此问题暂未解决。等待大侠帮助。


链接:MSYS中国项目

 

posted on 2011-01-14 09:24 seahouse 阅读(5624) 评论(0)  编辑 收藏 引用 所属分类: 编译


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理