如何安装MinGW-w64和MSYS2?

时间:2015-05-06 07:08:42

标签: cygwin mingw msys mingw-w64 msys2

我正在尝试构建一些开源库。我需要包管理系统来轻松下载依赖项。起初我正在使用.state('app', { url: "/app", templateUrl: 'tpl.html', }) .state('app.list', { url: "/list/:passedLow/:passedHigh", views: { 'menuContent': { templateUrl: "templates/file.html", controller: 'ValueListCtrl' } }, params: { passedHigh: { value: null, squash: true } }, }) .state('app.landing', { url: "/landing", templateUrl: 'tpl.html', }) 。但包含的包裹有限。有人告诉我使用MinGW+MSYS

我从here下载了MinGW-w64 + MSYS2。运行时,它会报告以下错误。如何解决?

enter image description here

顺便说一句,从mingw-w64-install下载页面,我看到了很多下载链接。甚至Cygwin也被列入名单。 MinGW-w64Cygwin的关系如何?

enter image description here

我目前的理解是,在MinGW-w64时,MSYS只是MinGW的一个很好的插件,而在MinGW+MSYS中,MSYS2是独立的,而MinGW-w64只是一组库,它可以与...合作。就像Cygwin可以下载许多不同的包装一样。

2 个答案:

答案 0 :(得分:165)

不幸的是,您使用的MinGW-w64安装程序有时会遇到此问题。我自己不确定为什么会发生这种情况(我认为它与Sourceforge URL重定向或安装程序当前无法正常处理的任何内容有关)。

无论如何,如果您已经计划使用MSYS2,则不需要该安装程序。

  1. this page下载MSYS2(根据您要使用的Windows版本选择32位或64位,而不是您要构建的可执行文件类型,两个版本都可以同时构建32位和64位二进制文​​件。)

  2. 安装完成后,单击“开始”菜单中MSYS2 64-bitMSYS2 32-bit下新创建的“MSYS2 Shell”选项。根据wiki更新MSYS2(虽然我只是做pacman -Syu,忽略所有错误并关闭窗口并打开一个新窗口,不建议这样做,你应该按照wiki页面说的那样做。)

  3. 安装工具链

    a)32位:

    pacman -S mingw-w64-i686-gcc
    

    b)64位:

    pacman -S mingw-w64-x86_64-gcc
    
  4. 安装您可能需要的任何库/工具。您可以通过执行

    来搜索存储库
    pacman -Ss name_of_something_i_want_to_install
    

    e.g。

    pacman -Ss gsl
    

    并使用

    进行安装
    pacman -S package_name_of_something_i_want_to_install
    

    e.g。

    pacman -S mingw-w64-x86_64-gsl
    

    从那时起,您的MinGW-W64 64位编译器会自动找到GSL库!

  5. 打开MinGW-w64 shell:

    a)要构建32位内容,打开“MinGW-w64 32位Shell”

    b)要构建64位内容,请打开“MinGW-w64 64位Shell”

  6. 通过执行

    验证编译器是否正常工作
    gcc -v
    
  7. 如果您想在MSYS2环境之外使用工具链(已安装的库),您只需将<MSYS2 root>/mingw32/bin<MSYS2 root>/mingw64/bin添加到PATH

答案 1 :(得分:20)

MSYS好久没有更新,MSYS2更活跃,您可以从MSYS2下载,它同时包含mingwcygwin fork

安装MinGW-w64工具链(Reference):

  1. 从开始菜单打开MSYS2 shell
  2. 运行pacman -Sy pacman以更新软件包数据库
  3. 重新打开shell,运行pacman -Syu以更新软件包数据库和核心系统软件包
  4. 重新打开shell,运行pacman -Su更新其余部分
  5. 安装编译器:
    • 对于32位目标,请运行pacman -S mingw-w64-i686-toolchain
    • 对于64位目标,请运行pacman -S mingw-w64-x86_64-toolchain
  6. 选择要安装的软件包,默认为全部
  7. 您可能还需要make,运行pacman -S make