如何安装MinGW-w64和MSYS2?

问题描述 投票:73回答:2

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

我从mingw-w64-install下载了here。运行时,它会报告以下错误。怎么解决?

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

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

cygwin mingw msys mingw-w64 msys2
2个回答
168
投票

不幸的是,您使用的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 例如 pacman -Ss gsl 并安装使用 pacman -S package_name_of_something_i_want_to_install 例如 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

如果你想在MSYS2环境之外使用工具链(带有已安装的库),你需要做的就是将<MSYS2 root>/mingw32/bin<MSYS2 root>/mingw64/bin添加到你的PATH


21
投票

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. 选择要安装的软件包,默认为all
  7. 你可能还需要make,运行pacman -S make
© www.soinside.com 2019 - 2024. All rights reserved.