如何安装MinGW-w64和MSYS2?
我正在尝试构build一些开源库。 我需要包pipe理系统来轻松下载依赖关系。 起初我使用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 URLredirect或安装程序无法正确处理的任何内容有关)。
无论如何,如果你已经计划使用MSYS2,那就不需要安装程序了。
-
从这个页面下载MSYS2(根据你将要使用的Windows版本select32位或者64位,而不是你想要创build什么types的可执行文件,两个版本都可以同时创build32位和64位二进制文件)。
-
安装完成后,单击“开始”菜单中
MSYS2 64-bit
或MSYS2 32-bit
下新创build的“MSYS2 Shell”选项。 根据维基更新MSYS2(虽然我只是做一个pacman -Syu
,忽略所有错误,并closures窗口,并打开一个新的,这不build议,你应该做的维基页面说)。 -
安装一个工具链
a)对于32位:
pacman -S mingw-w64-i686-gcc
b)对于64位:
pacman -S mingw-w64-x86_64-gcc
-
安装您可能需要的任何库/工具。 您可以通过执行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库!
-
打开一个MinGW-w64shell:
a)要构build32位的东西,请打开“MinGW-w64 32位Shell”
b)要打造64位的东西,打开“MinGW-w64 64位shell”
-
validation编译器是否正在工作
gcc -v
如果您想在MSYS2环境外使用工具链(包含已安装的库),您只需将<MSYS2 root>/mingw32/bin
或<MSYS2 root>/mingw64/bin
到PATH
。
MSYS没有更新很久,MSYS2更加活跃,你可以从MSYS2下载,它既有mingw
也有cygwin fork
包。
要安装MinGW
工具链( 参考 ):
- 从开始菜单打开MSYS2shell
- 运行
pacman -Sy pacman
来更新包数据库 - 重新打开shell,运行
pacman -Syu
来更新包数据库和核心系统包 - 重新打开shell,运行
pacman -Su
更新其余的 - ( 参考 )
- 对于32位,运行
pacman -S mingw-w64-i686-toolchain
- 对于64位,运行
pacman -S mingw-w64-x86_64-toolchain
- 对于32位,运行
- select要安装的软件包,默认为全部
- 你也可能需要
make
,运行pacman -S make