MSYS2快速配置C++环境+ZSH

  1. MSYS2官网下载MSYS2并安装
  2. 换源。根据清华大学开源软件镜像站MSYS2 镜像使用帮助操作。
  3. 完成后运行
    pacman -Syu
     

    会提示关闭MSYS2窗口。关闭后再次启动MSYS2并运行

    pacman -Su

     注意:前者有时会更新pacman自身,这会导致pacman的镜像列表mirrolist被重置,需要重新换源。

  4. 执行

    pacman -S mingw-w64-x86_64-toolchain

    会安装下列软件仓库:
       1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git
       3) mingw-w64-x86_64-gcc  4) mingw-w64-x86_64-gcc-ada
       5) mingw-w64-x86_64-gcc-fortran  6) mingw-w64-x86_64-gcc-libgfortran
       7) mingw-w64-x86_64-gcc-libs  8) mingw-w64-x86_64-gcc-objc
       9) mingw-w64-x86_64-gdb  10) mingw-w64-x86_64-headers-git
       11) mingw-w64-x86_64-libmangle-git  12) mingw-w64-x86_64-libwinpthread-git
       13) mingw-w64-x86_64-make  14) mingw-w64-x86_64-pkg-config
       15) mingw-w64-x86_64-tools-git  16) mingw-w64-x86_64-winpthreads-git
       17) mingw-w64-x86_64-winstorecompat-git

    包括下列软件包:
                mingw-w64-x86_64-bzip2-1.0.8-1
                mingw-w64-x86_64-ca-certificates-20190110-1
                mingw-w64-x86_64-expat-2.2.9-1  mingw-w64-x86_64-gettext-0.19.8.1-9
                mingw-w64-x86_64-gmp-6.2.0-1  mingw-w64-x86_64-isl-0.22.1-1
                mingw-w64-x86_64-libffi-3.3-1  mingw-w64-x86_64-libiconv-1.16-1
                mingw-w64-x86_64-libsystre-1.0.1-4
                mingw-w64-x86_64-libtasn1-4.16.0-1
                mingw-w64-x86_64-libtre-git-r128.6fb7206-2
                mingw-w64-x86_64-mpc-1.1.0-1  mingw-w64-x86_64-mpdecimal-2.5.0-1
                mingw-w64-x86_64-mpfr-4.1.0-2  mingw-w64-x86_64-ncurses-6.2-1
                mingw-w64-x86_64-openssl-1.1.1.g-1
                mingw-w64-x86_64-p11-kit-0.23.20-2  mingw-w64-x86_64-python-3.8.5-1
                mingw-w64-x86_64-readline-8.0.004-1
                mingw-w64-x86_64-sqlite3-3.32.3-2  mingw-w64-x86_64-tcl-8.6.10-1
                mingw-w64-x86_64-termcap-1.3.1-6  mingw-w64-x86_64-tk-8.6.10-1
                mingw-w64-x86_64-windows-default-manifest-6.4-3
                mingw-w64-x86_64-xxhash-0.7.4-1  mingw-w64-x86_64-xz-5.2.5-1
                mingw-w64-x86_64-zlib-1.2.11-7  mingw-w64-x86_64-zstd-1.4.5-1
                mingw-w64-x86_64-binutils-2.34-3
                mingw-w64-x86_64-crt-git-8.0.0.5966.f5da805f-1
                mingw-w64-x86_64-gcc-10.2.0-1  mingw-w64-x86_64-gcc-ada-10.2.0-1
                mingw-w64-x86_64-gcc-fortran-10.2.0-1
                mingw-w64-x86_64-gcc-libgfortran-10.2.0-1
                mingw-w64-x86_64-gcc-libs-10.2.0-1
                mingw-w64-x86_64-gcc-objc-10.2.0-1  mingw-w64-x86_64-gdb-9.2-1
                mingw-w64-x86_64-headers-git-8.0.0.5966.f5da805f-1
                mingw-w64-x86_64-libmangle-git-8.0.0.5573.a4de8df4-1
                mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1
                mingw-w64-x86_64-make-4.3-1  mingw-w64-x86_64-pkg-config-0.29.2-1
                mingw-w64-x86_64-tools-git-8.0.0.5903.3310d459-1
                mingw-w64-x86_64-winpthreads-git-8.0.0.5906.c9a21571-1
                mingw-w64-x86_64-winstorecompat-git-8.0.0.5903.3310d459-1
    下载大小:      132.55 MiB
    全部安装大小:  897.89 MiB

  5. 执行

    pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-extra-cmake-modules

    包含下列软件包:
                mingw-w64-x86_64-brotli-1.0.7-4  mingw-w64-x86_64-c-ares-1.16.1-1
                mingw-w64-x86_64-curl-7.71.0-1  mingw-w64-x86_64-jansson-2.12-1
                mingw-w64-x86_64-jemalloc-5.2.1-1  mingw-w64-x86_64-jsoncpp-1.9.2-1
                mingw-w64-x86_64-libarchive-3.4.3-1
                mingw-w64-x86_64-libidn2-2.3.0-1
                mingw-w64-x86_64-libmetalink-0.1.3-3
                mingw-w64-x86_64-libpsl-0.21.0-2  mingw-w64-x86_64-libssh2-1.9.0-2
                mingw-w64-x86_64-libunistring-0.9.10-2
                mingw-w64-x86_64-libuv-1.38.0-1  mingw-w64-x86_64-lz4-1.9.2-1
                mingw-w64-x86_64-nettle-3.6-1  mingw-w64-x86_64-nghttp2-1.41.0-1
                mingw-w64-x86_64-png2ico-2002.12.08-2
                mingw-w64-x86_64-rhash-1.3.9-1  mingw-w64-x86_64-cmake-3.17.3-1
                mingw-w64-x86_64-extra-cmake-modules-5.68.0-1
    下载大小:      13.75 MiB
    全部安装大小:  90.28 MiB

  6. 执行

    pacman -S mingw-w64-x86_64-clang

    包含下列软件包:
               mingw-w64-x86_64-llvm-10.0.1-1  mingw-w64-x86_64-z3-4.8.8-1
               mingw-w64-x86_64-clang-10.0.1-1
    下载大小:       459.23 MiB
    全部安装大小:  2377.00 MiB

  7. 执行

    pacman -S help2man man-db man-pages-posix

    包含下列软件包:
               groff-1.22.4-1  libpipeline-1.5.2-1  perl-Locale-Gettext-1.07-6
               help2man-1.47.15-1  man-db-2.9.3-1  man-pages-posix-2013_a-1
    下载大小:       5.88 MiB
    全部安装大小:  20.42 MiB

  8. 执行

    pacman -S zsh git vim

    包含下列软件包:
                expat-2.2.9-1  heimdal-7.7.0-1  libpcre16-8.44-1  libpcre32-8.44-1
                libpcrecpp-8.44-1  libpcreposix-8.44-1  openssh-8.3p1-1
                pcre-8.44-1  perl-Authen-SASL-2.16-2  perl-Clone-0.45-1
                perl-Convert-BinHex-1.125-1  perl-Encode-Locale-1.05-1
                perl-Error-0.17029-1  perl-File-Listing-6.04-2
                perl-HTML-Parser-3.72-6  perl-HTML-Tagset-3.20-2
                perl-HTTP-Cookies-6.08-1  perl-HTTP-Daemon-6.12-1
                perl-HTTP-Date-6.05-1  perl-HTTP-Message-6.25-2
                perl-HTTP-Negotiate-6.01-2  perl-IO-HTML-1.001-1
                perl-IO-Socket-SSL-2.068-1  perl-IO-Stringy-2.113-1
                perl-LWP-MediaTypes-6.04-1  perl-MIME-tools-5.509-1
                perl-MailTools-2.21-1  perl-Net-HTTP-6.19-1
                perl-Net-SMTP-SSL-1.04-1  perl-Net-SSLeay-1.89_01-2
                perl-TermReadKey-2.38-2  perl-TimeDate-2.33-1  perl-Try-Tiny-0.30-1
                perl-URI-1.76-1  perl-WWW-RobotRules-6.02-2  perl-libwww-6.46-1
                git-2.27.0-1  vim-8.2.0869-1  zsh-5.8-3
    下载大小:       19.44 MiB
    全部安装大小:  102.94 MiB

  9. (可选)在/etc/bash.bashrc中添加export http_proxy="xxx"和export https_proxy="xxx"。

  10. 修改/etc/nsswitch.conf中的db_home为windows或指定路径无效。在/etc/bash.bashrc中添加

    export HOME=/d/Documents/Programming/msyshome

    更改HOME目录。再添加

    cd

    更改启动目录为~。参考How to change HOME directory and start directory on MSYS2?

  11. 在更改后的HOME目录下执行

    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

    sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

    安装oh-my-zsh,然后在/etc/bash.bashrc中添加exec zsh。此时oh-my-zsh仍被安装在系统环境变量$HOME目录下。

  12. 生成passwd文件:

    /usr/bin/mkpasswd.exe > /etc/passwd

    在msys2_shell.cmd中将

    rem set MSYS2_PATH_TYPE=inherit

    的rem去掉。由于Windows环境变量路径有空格,所以MSYS实际上无法使用。

  13. (可选)将系统环境变量$HOME目录下的.oh-my-zsh文件夹移动到D:\Program_Files下,然后将.zshrc中的

    export ZSH="/e/Cadence/SPB_Data/.oh-my-zsh"

    改为

    export ZSH="/d/Program_Files/.oh-my-zsh"

    将MSYS Shell窗口的Options->Text->Font改为Powerline等字体,如JetBrains Mono。

  14. 将zshrc中的ZSH_THEME改为agnoster:ZSH_THEME="agnoster"。

  15. (可选)Windows Terminal配置:settings.json中的"profiles"下的"list"下添加

    {
        "guid": "{957f95a7-9539-46b8-b052-df39de1f1282}",
        "name": "MSYS2",
        "commandline": "D:\\Program_Files\\msys64\\msys2_shell.cmd -defterm -no-start -msys2",
        "icon": "D:\\Program_Files\\msys64\\msys2.ico"
    },

    (可选)ConEmu配置:Settings->General->Fonts更改字体;Settings->Startup->Tasks,{Bash::Msys2-64}中Commands默认为

    set CHERE_INVOKING=1 & set "PATH=%ConEmuDrive%\msys64\usr\bin;%PATH%" & %ConEmuBaseDirShort%\conemu-msys2-64.exe -new_console:p %ConEmuDrive%\msys64\usr\bin\bash.exe --login -i -new_console:C:"%ConEmuDrive%\msys64\msys2.ico"

    改为

    set HOME=D:\Documents\Programming\msyshome & set MSYS2_PATH_TYPE=inherit & set MSYSTEM=mingw64 & set "PATH=D:\Program_Files\msys64\usr\bin;%PATH%" & %ConEmuBaseDirShort%\conemu-msys2-64.exe -new_console:p D:\Program_Files\msys64\usr\bin\zsh.exe --login -i -new_console:C:"D:\Program_Files\msys64\msys2.ico"

    或新建{Msys2::MinGW64},Commands为

    set HOME=D:\Documents\Programming\msyshome & set MSYS2_PATH_TYPE=inherit & set MSYSTEM=mingw64 & set "D=D:\Program_Files\msys64" & %D%\usr\bin\zsh --login -i -new_console:C:"%D%\msys2.ico"

    其中第一个set设置HOME确保使用指定HOME目录下的.zshrc(灵感来源于How do I change $HOME directory on MSYS2?);其他set命令部分参考了msys2使用conemu终端配置
    (可选)Fluent Terminal设置:配置文件->新建。名称:MSYS2;可执行程序位置:D:\Program_Files\msys64\msys2_shell.cmd(如果点三个点选择只能选择exe文件,所以需要复制粘贴到文本框中);工作目录:D:\Documents\Programming\msyshome;参数:-defterm -no-start -msys2;快捷键:自选。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以按照以下步骤配置 VSCode 来使用 MSYS2 环境进行 C 开发: 1. 首先,确保你已经安装了 Visual Studio Code 和 MSYS2。如果还没有安装,可以前往它们的官方网站下载并进行安装。 2. 打开 Visual Studio Code,并安装 C/C++ 扩展。在左侧的侧边栏中找到扩展图标(四个方块),搜索并安装 "C/C++" 扩展。 3. 安装完扩展后,点击左上角的文件菜单,选择 "打开文件夹" ,然后选择你的 C 项目所在的文件夹。 4. 在项目文件夹中,创建一个名为 `.vscode` 的文件夹(如果还不存在的话)。 5. 在 `.vscode` 文件夹中创建一个名为 `tasks.json` 的文件,并将以下内容复制到该文件中: ```json { "version": "2.0.0", "tasks": [ { "label": "Build", "type": "shell", "command": "gcc", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": "$gcc" } ] } ``` 这个 `tasks.json` 文件定义了一个名为 "Build" 的任务,使用 gcc 编译器来构建当前打开的文件,并将输出的可执行文件保存在同一目录下。 6. 保存 `tasks.json` 文件后,可以在 Visual Studio Code 的底部任务栏找到 "运行生成任务" 的按钮(类似于齿轮图标),点击该按钮,选择 "Build" 任务来构建你的代码。 7. 构建成功后,在同一目录下会生成一个与源文件同名的可执行文件。你可以点击底部状态栏的 "终端" 图标,打开终端窗口,并在该窗口中运行可执行文件来测试你的代码。 现在,你已经成功配置了 VSCode 来使用 MSYS2 环境进行 C 开发。你可以编写和调试 C 代码,并通过上述步骤构建和运行你的程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ayka

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值