下面是 Windows 上安装 MSYS2 的简明步骤与常见注意点。
一、下载安装
- 访问 https://www.msys2.org/ 下载最新安装器(msys2-x86_64-...exe)。
- 运行安装器,建议安装到默认路径 C:\msys64(路径不要包含空格或中文更稳妥)。
- 完成后勾选“Run MSYS2 now”启动 MSYS2 MSYS 终端(黑色窗口)。
二、首次更新系统 在“MSYS2 MSYS”终端中执行:
pacman -Syu
- 执行后若提示需要关闭窗口,请关闭该终端。
- 重新打开“MSYS2 MSYS”终端,再继续更新
pacman -Su
这样完成核心与剩余包的全面更新。
三、安装工具链与构建工具 根据目标选择对应的终端与工具链(建议 64 位):
-
打开开始菜单,依次选择:
- MSYS2 MinGW x64(用于 64 位原生 Windows 程序)
在“MSYS2 MinGW x64”终端中安装常用工具:
pacman -S --needed base-devel mingw-w64-x86_64-toolchain make pkgconf
按需安装可选依赖:
pacman -S mingw-w64-x86_64-curl mingw-w64-x86_64-flac
四、验证环境 在“MSYS2 MinGW x64”终端执行:
gcc --version
pkg-config --version
能显示版本说明环境就绪。
五、常见问题与提示
-
终端的区别:
- MSYS2 MSYS:维护环境自身与通用工具,不用于编译原生 .exe。
- MSYS2 MinGW x64/MinGW x86:用于编译原生 Windows .exe(推荐使用 x64)
-
更新失败/密钥问题(极少见):可尝试
pacman-key --init
pacman-key --populate msys2
pacman -Syyu
- 升级速度慢:可在 etc/pacman.d/mirrorlist.* 调整镜像顺序(一般无需修改)。
- 卸载:关闭所有 MSYS2 终端,删除 C:\msys64 目录及开始菜单快捷方式即可(如需保留软件包缓存,先备份 C:\msys64\var\cache\pacman\pkg)。
六、用于本项目的快速起步(64 位示例)
- 打开“MSYS2 MinGW x64”终端,进入项目目录后执行:
pacman -S --needed base-devel mingw-w64-x86_64-toolchain make pkgconf
# 按需:网络与压缩支持
# pacman -S mingw-w64-x86_64-curl mingw-w64-x86_64-flac
./configure --host=x86_64-w64-mingw32 --prefix="$PWD/build-root" --without-xview
# 如果不需要网络/FLAC支持,可加:--without-netfiles --without-flac
make
make install
如果编译出错,提示是用了旧的C标准定义的函数
ann2rr.c: In function 'main':
ann2rr.c:40:1: warning: old-style function definition [-Wold-style-definition]
40 | main(argc, argv)
| ^~~~
ann2rr.c:50:10: error: conflicting types for 'atol'; have 'long int(void)'
50 | long atol();
| ^~~~
In file included from C:/project/wfdb-10.7.0/build/include/wfdb/wfdb.h:579,
from ann2rr.c:30:
C:/msys64/mingw64/include/stdlib.h:322:16: note: previous declaration of 'atol' with type 'long int(const char *)'
322 | long __cdecl atol(const char *_Str);
| ^~~~
ann2rr.c:57:13: error: too many arguments to function 'prog_name'; expected 0, have 1
57 | pname = prog_name(argv[0]);
| ^~~~~~~~~ ~~~~~~~
可以将命令改为
pacman -S --needed base-devel mingw-w64-x86_64-toolchain make pkgconf
# 按需:网络与压缩支持
# pacman -S mingw-w64-x86_64-curl mingw-w64-x86_64-flac
./configure --host=x86_64-w64-mingw32 --prefix="$PWD/build-root" --without-xview
# 如果不需要网络/FLAC支持,可加:--without-netfiles --without-flac
make CC="x86_64-w64-mingw32-gcc -std=gnu89"
make install