1 下载并安装msys2
有两种方式下载,一种是从官网下载,另一种是从国内的镜像站下载,一般来说国内镜像快一点
-
官网下载:https://www.msys2.org/
-
从镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/msys2/distrib/
其他准备工作:下载一个文本编辑器,如notepad++(https://notepad-plus-plus.org/),用来打开无后缀的文本文件(虽然windows自带的记事本也可以,但是有时候显示的格式有问题,比如无法正常显示换行)
2 msys2换源
由于国外的源比较慢,所以要更换成国内源,比如清华大学镜像站。首先在安装目录下找到\etc\pacman.d\文件夹,然后用notepad++打开以下几个文件并进行修改:
(1)修改\etc\pacman.d\mirrorlist.mingw32
在最上面添加下面内容
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/i686/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://mirror.bit.edu.cn/msys2/mingw/i686/
Server = https://mirror.selfnet.de/msys2/mingw/i686/
(2)修改\etc\pacman.d\mirrorlist.mingw64
在最上面添加下面内容
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/x86_64/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64/
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://mirror.bit.edu.cn/msys2/mingw/x86_64/
Server = https://mirror.selfnet.de/msys2/mingw/x86_64/
(3)修改\etc\pacman.d\mirrorlist.msys
在最上面添加以下内容
Server = https://mirror.yandex.ru/mirrors/msys2/msys/$arch/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://mirror.bit.edu.cn/msys2/msys/$arch/
Server = https://mirror.selfnet.de/msys2/msys/$arch/
3 安装gcc等工具
首先更新
pacman -Syu
pacman命令(等价于ubuntu的apt、fedora的yum)
pacman -Sy 更新软件包数据
pacman -Syu 更新所有
pacman -Ss xx 查询软件xx的信息
pacman -S xx 安装软件xx
pacman -R package_name 删除软件package_name
(1) 安装gcc (包含c和c++)
用pacman -Ss gcc搜索完整的包名,选择有openmp的版本安装
pacman -S mingw64/mingw-w64-x86_64-gcc
(2) 安装make
pacman -S make
4 添加到windows环境变量
-
将D:\msys64\mingw64\bin和D:\msys64\usr\bin添加到环境变量
-
具体方法:
- 右键点击“我的电脑”,选择“属性”,点击左侧的“高级系统设置”,点“环境变量”按钮。
- 然后在"系统变量"里面找到PATH
- 双击PATH,然后点击右侧"新建"按钮,输入D:\msys64\usr\bin
- 再次点击"新建"按钮,然后再添加一个D:\msys64\mingw64\bin。(我的安装目录是D:\msys64,所以环境变量添加D:\msys64\usr\bin,如果是其他安装目录,那么就是"安装目录\usr\bin")
5 设置windows空白处鼠标右键打开命令行
https://techjourney.net/change-open-powershell-window-here-to-open-command-window-here/
6 测试
在空白处shift+右键打开命令行,输入
g++ -v
显示
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-10.2.0/configure --prefix=/mingw64 --with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib --enable-bootstrap --with-arch=x86-64 --with-tune=generic --enable-languages=c,lto,c++,fortran,ada,objc,obj-c++ --enable-shared --enable-static --enable-libatomic --enable-threads=posix --enable-graphite --enable-fully-dynamic-string --enable-libstdcxx-filesystem-ts=yes --enable-libstdcxx-time=yes --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --enable-lto --enable-libgomp --disable-multilib --enable-checking=release --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --disable-plugin --with-libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --with-mpc=/mingw64 --with-isl=/mingw64 --with-pkgversion='Rev1, Built by MSYS2 project' --with-bugurl=https://github.com/msys2/MINGW-packages/issues --with-gnu-as --with-gnu-ld
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (Rev1, Built by MSYS2 project)
说明安装成功
随便写个cpp文件,命名为hello.cpp
#include<iostream>
using namespace std;
int main(){
cout<<"Hello"<<endl;
}
然后在命令行中编译,
g++ -o hello hello.cpp
编译正常,运行正常,说明大功告成!