如何安装MinGW-w64和MSYS2?

我正在尝试构build一些开源库。 我需要包pipe理系统来轻松下载依赖关系。 起初我使用MinGW+MSYS 。 但是包含的软件包是有限的。 有人告诉我使用MinGW-w64 + MSYS2

我从这里下载了mingw-w64-install 。 运行时,会报告以下错误。 如何解决它?

在这里输入图像说明

顺便说一句,从MinGW-w64下载页面,我看到了很多下载链接。 即使Cygwin被列出。 CygwinMinGW-w64是如何相关的?

在这里输入图像说明

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

不幸的是,你使用的MinGW-w64安装程序有时会遇到这个问题。 我自己不知道为什么会发生这种情况(我认为这与Sourceforge URLredirect或安装程序无法正确处理的任何内容有关)。

无论如何,如果你已经计划使用MSYS2,那就不需要安装程序了。

  1. 从这个页面下载MSYS2(根据你将要使用的Windows版本select32位或者64位,而不是你想要创build什么types的可执行文件,两个版本都可以同时创build32位和64位二进制文​​件)。

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

  3. 安装一个工具链

    a)对于32位:

     pacman -S mingw-w64-i686-gcc 

    b)对于64位:

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

     pacman -Ss name_of_something_i_want_to_install 

    例如

     pacman -Ss gsl 

    并安装使用

     pacman -S package_name_of_something_i_want_to_install 

    例如

     pacman -S minw-w64-x86_64-gsl 

    从此之后,您的MinGW-w64 64位编译器会自动findGSL库!

  5. 打开一个MinGW-w64shell:

    a)要构build32位的东西,请打开“MinGW-w64 32位Shell”

    b)要打造64位的东西,打开“MinGW-w64 64位shell”

  6. validation编译器是否正在工作

     gcc -v 

如果您想在MSYS2环境外使用工具链(包含已安装的库),您只需将<MSYS2 root>/mingw32/bin<MSYS2 root>/mingw64/binPATH

MSYS没有更新很久,MSYS2更加活跃,你可以从MSYS2下载,它既有mingw也有cygwin fork包。

要安装MinGW工具链( 参考 ):

  1. 从开始菜单打开MSYS2shell
  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. select要安装的软件包,默认为全部
  7. 你也可能需要make ,运行pacman -S make