Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cygwin 如何安装MinGW-w64和MSYS2?_Cygwin_Mingw_Msys_Mingw W64_Msys2 - Fatal编程技术网

Cygwin 如何安装MinGW-w64和MSYS2?

Cygwin 如何安装MinGW-w64和MSYS2?,cygwin,mingw,msys,mingw-w64,msys2,Cygwin,Mingw,Msys,Mingw W64,Msys2,我正在尝试建立一些开源库。我需要包管理系统,以方便地下载的依赖关系。首先,我使用的是MinGW+MSYS。但包含的软件包是有限的。有人告诉我使用MinGW-w64+MSYS2 我从下载了mingw-w64-install。运行时,它会报告以下错误。如何修复它 顺便说一句,从MinGW-w64下载页面,我看到了很多下载链接。甚至Cygwin也被列入名单。Cygwin和MinGW-w64有何关联 我目前的理解是,在MinGW+MSYS时代,MSYS只是MinGW的一个不错的插件,而在MinGW-

我正在尝试建立一些开源库。我需要包管理系统,以方便地下载的依赖关系。首先,我使用的是
MinGW+MSYS
。但包含的软件包是有限的。有人告诉我使用
MinGW-w64+MSYS2

我从下载了
mingw-w64-install
。运行时,它会报告以下错误。如何修复它

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


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

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

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

  • 从下载MSYS2(根据要在其上使用的Windows版本选择32位或64位,而不是要生成的可执行文件类型,这两个版本都可以生成32位和64位二进制文件)

  • 安装完成后,在开始菜单中的
    MSYS2 64位
    MSYS2 32位
    下单击新创建的“MSYS2外壳”选项。根据wiki更新MSYS2(尽管我只做了一个
    pacman-Syu
    ,忽略所有错误,关闭窗口并打开一个新窗口,但不建议这样做,您应该按照wiki页面上的说明进行操作)

  • 安装工具链

    a) 对于32位:

    pacman -S mingw-w64-i686-gcc
    
    b) 对于64位:

    pacman -S mingw-w64-x86_64-gcc
    
  • 安装您可能需要的任何库/工具。您可以通过执行以下操作来搜索存储库:

    pacman -Ss name_of_something_i_want_to_install
    
    e、 g

    并使用

    pacman -S package_name_of_something_i_want_to_install
    
    e、 g

    从那时起,您的MinGW-w64位编译器将自动找到GSL库

  • 打开MinGW-w64外壳:

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

    b) 要构建64位的东西,请打开“MinGW-w64位Shell”

  • 通过执行以下操作验证编译器是否正常工作

    gcc -v
    

  • 如果您想在MSYS2环境之外使用工具链(带有已安装的库),只需将
    /mingw32/bin
    /mingw64/bin
    添加到
    路径

    MSYS长时间未更新,MSYS2更活跃,您可以从,它有
    mingw
    cygwinfork

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

  • 从“开始”菜单打开MSYS2外壳
  • 运行
    pacman-Sy pacman
    更新包数据库
  • 重新打开shell,运行
    pacman-Syu
    更新包数据库和核心系统包
  • 重新打开shell,运行
    pacman-Su
    更新其余的shell
  • 安装编译器:
    • 对于32位目标,运行
      pacman-S mingw-w64-i686-toolchain
    • 对于64位目标,运行
      pacman-S mingw-w64-x86_64-toolchain
  • 选择要安装的软件包,默认值为all
  • 您可能还需要
    make
    ,运行
    pacman-S make

  • 谢谢我如何才能得到一个
    pacman
    可以识别的包的规范名称?如果您同时安装32位和64位工具链,它会工作吗?@collone是的,它会将工具链(以及您安装的任何第三方库)安装在不同的目录(/mingw32和/mingw64)中。非常感谢@rubenvb。msys2 wiki对于像我这样的noobs来说,在如何完成这几个简单的步骤上是如此的令人困惑。@Toby我同意他们在解释事情时采取了“拱门方式”,即阅读pacman上的拱门wiki,你会知道几乎相同的事情。一个初学者的设置可能很有用,尽管它现在已经打开了,所以应该很快在Google上出现:)。(将此理解为:继续投票此答案:P)如何安装特定的MinGW-w64版本,如
    x86\u 64-6.2.0-release-posix-seh-rt\u v5-rev1
    ?这是否意味着不再需要所述的MinGW安装程序?我应该安装msys2?Link
    Reference
    正在断章取义关于为什么msys2外壳会在一秒钟后自动关闭的任何想法?如果您需要cmake,您必须安装
    pacman-S mingw-w64-x86_64-cmake
    ,而不是
    cmake
    。正常cmake将缺少用于minGW的发电机。
    pacman -S mingw-w64-x86_64-gsl
    
    gcc -v