我正在尝试构建一些开源库。我需要包管理系统来轻松下载依赖项。起初我正在使用MinGW+MSYS
。但包含的包裹有限。有人告诉我使用MinGW-w64 + MSYS2
。
我从mingw-w64-install
下载了here。运行时,它会报告以下错误。怎么解决?
顺便说一句,从MinGW-w64
下载页面,我看到了很多下载链接。甚至Cygwin也被列入名单。 Cygwin
和MinGW-w64
如何相关?
我目前的理解是,在MinGW+MSYS
时代,MSYS只是MinGW的一个很好的插件,而在MinGW-w64 + MSYS2
中,MSYS2是独立的,而MinGW-w64只是它可以使用的一组库。就像Cygwin可以下载许多不同的包装一样。
不幸的是,您使用的MinGW-w64安装程序有时会遇到此问题。我自己不确定为什么会发生这种情况(我认为它与Sourceforge URL重定向或安装程序当前无法正常处理的任何内容有关)。
无论如何,如果您已经计划使用MSYS2,则不需要该安装程序。
MSYS2 64-bit
或MSYS2 32-bit
下新创建的“MSYS2 Shell”选项。根据wiki更新MSYS2(虽然我只是做一个pacman -Syu
,忽略所有错误并关闭窗口并打开一个新的,不推荐这样做,你应该按照wiki页面说的那样做)。pacman -S mingw-w64-i686-gcc
b)对于64位:
pacman -S mingw-w64-x86_64-gcc
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库!gcc -v
如果你想在MSYS2环境之外使用工具链(带有已安装的库),你需要做的就是将<MSYS2 root>/mingw32/bin
或<MSYS2 root>/mingw64/bin
添加到你的PATH
。
MSYS还没有更新很久,MSYS2更活跃,你可以从MSYS2下载,它有mingw
和cygwin fork
包。
要安装MinGW-w64工具链(Reference):
pacman -Sy pacman
以更新包数据库pacman -Syu
来更新包数据库和核心系统包pacman -Su
以更新其余部分pacman -S mingw-w64-i686-toolchain
对于64位目标,运行pacman -S mingw-w64-x86_64-toolchain
make
,运行pacman -S make